Browse Source

Add repository specification unit test.

pull/1108/head
maliming 7 years ago
parent
commit
69d89ce87c
  1. 8
      framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/Repositories/Repository_Specifications_Tests.cs
  2. 8
      framework/test/Volo.Abp.MemoryDb.Tests/Volo/Abp/MemoryDb/Repositories/Repository_Specifications_Tests.cs
  3. 8
      framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/Repositories/Repository_Specifications_Tests.cs
  4. 1
      framework/test/Volo.Abp.TestApp/Volo.Abp.TestApp.csproj
  5. 40
      framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/Repository_Specifications_Tests.cs

8
framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/Repositories/Repository_Specifications_Tests.cs

@ -0,0 +1,8 @@
using Volo.Abp.TestApp.Testing;
namespace Volo.Abp.EntityFrameworkCore.Repositories
{
public class Repository_Specifications_Tests : Repository_Specifications_Tests<AbpEntityFrameworkCoreTestModule>
{
}
}

8
framework/test/Volo.Abp.MemoryDb.Tests/Volo/Abp/MemoryDb/Repositories/Repository_Specifications_Tests.cs

@ -0,0 +1,8 @@
using Volo.Abp.TestApp.Testing;
namespace Volo.Abp.MemoryDb.Repositories
{
public class Repository_Specifications_Tests : Repository_Specifications_Tests<AbpMemoryDbTestModule>
{
}
}

8
framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/Repositories/Repository_Specifications_Tests.cs

@ -0,0 +1,8 @@
using Volo.Abp.TestApp.Testing;
namespace Volo.Abp.MongoDB.Repositories
{
public class Repository_Specifications_Tests : Repository_Specifications_Tests<AbpMongoDbTestModule>
{
}
}

1
framework/test/Volo.Abp.TestApp/Volo.Abp.TestApp.csproj

@ -16,6 +16,7 @@
<ProjectReference Include="..\..\src\Volo.Abp.AutoMapper\Volo.Abp.AutoMapper.csproj" />
<ProjectReference Include="..\..\src\Volo.Abp.Ddd.Application\Volo.Abp.Ddd.Application.csproj" />
<ProjectReference Include="..\..\src\Volo.Abp.TestBase\Volo.Abp.TestBase.csproj" />
<ProjectReference Include="..\..\src\Volo.Abp.Specifications\Volo.Abp.Specifications.csproj" />
<ProjectReference Include="..\AbpTestBase\AbpTestBase.csproj" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.0.1" />
</ItemGroup>

40
framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/Repository_Specifications_Tests.cs

@ -0,0 +1,40 @@
using System;
using System.Linq;
using System.Linq.Expressions;
using Shouldly;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Modularity;
using Volo.Abp.Specifications;
using Volo.Abp.TestApp.Domain;
using Xunit;
namespace Volo.Abp.TestApp.Testing
{
public abstract class Repository_Specifications_Tests<TStartupModule> : TestAppTestBase<TStartupModule>
where TStartupModule : IAbpModule
{
protected readonly IRepository<City, Guid> CityRepository;
protected Repository_Specifications_Tests()
{
CityRepository = GetRequiredService<IRepository<City, Guid>>();
}
[Fact]
public void SpecificationWithRepository_Test()
{
WithUnitOfWork(() =>
{
CityRepository.Count(new CitySpecification().ToExpression()).ShouldBe(1);
});
}
}
public class CitySpecification : Specification<City>
{
public override Expression<Func<City, bool>> ToExpression()
{
return city => city.Name == "Istanbul";
}
}
}
Loading…
Cancel
Save