Added EF Core test project and implemented the first real test.

pull/318/head
Halil ibrahim Kalkan 7 years ago
parent 6f4bf2c2ce
commit b493876746

@ -33,6 +33,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Blogging.TestBase", "t
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Blogging.EntityFrameworkCore.Tests", "test\Volo.Blogging.EntityFrameworkCore.Tests\Volo.Blogging.EntityFrameworkCore.Tests.csproj", "{0B9AAD44-1FCF-4AF1-838F-A09446E98E37}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Blogging.Application.Tests", "test\Volo.Blogging.Application.Tests\Volo.Blogging.Application.Tests.csproj", "{C949B953-80B3-4B36-B535-1AD74A34FEAC}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -87,6 +89,10 @@ Global
{0B9AAD44-1FCF-4AF1-838F-A09446E98E37}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0B9AAD44-1FCF-4AF1-838F-A09446E98E37}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0B9AAD44-1FCF-4AF1-838F-A09446E98E37}.Release|Any CPU.Build.0 = Release|Any CPU
{C949B953-80B3-4B36-B535-1AD74A34FEAC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C949B953-80B3-4B36-B535-1AD74A34FEAC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C949B953-80B3-4B36-B535-1AD74A34FEAC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C949B953-80B3-4B36-B535-1AD74A34FEAC}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -104,6 +110,7 @@ Global
{14409939-5A35-4145-A5C4-F3AED1617243} = {EB4FB44A-FE39-4245-9DAD-D6437BCE3870}
{BBE8D8BE-1B24-49FE-86EF-3848D4BB6829} = {25B3A516-5C0D-42E3-9294-E8A9346CEE4B}
{0B9AAD44-1FCF-4AF1-838F-A09446E98E37} = {25B3A516-5C0D-42E3-9294-E8A9346CEE4B}
{C949B953-80B3-4B36-B535-1AD74A34FEAC} = {25B3A516-5C0D-42E3-9294-E8A9346CEE4B}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {F2BAE819-78D4-407A-9201-22473B2850B0}

@ -0,0 +1,19 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
<RootNamespace />
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.2" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\Volo.Blogging.Application\Volo.Blogging.Application.csproj" />
<ProjectReference Include="..\Volo.Blogging.EntityFrameworkCore.Tests\Volo.Blogging.EntityFrameworkCore.Tests.csproj" />
</ItemGroup>
</Project>

@ -0,0 +1,20 @@
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Modularity;
using Volo.Blogging.EntityFrameworkCore;
namespace Volo.Blogging
{
[DependsOn(
typeof(BloggingApplicationModule),
typeof(BloggingEntityFrameworkCoreTestModule),
typeof(BloggingTestBaseModule))]
public class BloggingApplicationTestModule : AbpModule
{
public override void ConfigureServices(IServiceCollection services)
{
services.AddAlwaysAllowAuthorization();
services.AddAssemblyOf<BloggingApplicationTestModule>();
}
}
}

@ -0,0 +1,24 @@
using System;
using Volo.Blogging.EntityFrameworkCore;
namespace Volo.Blogging
{
public abstract class QaApplicationTestBase : BloggingTestBase<BloggingApplicationTestModule>
{
protected virtual void UsingDbContext(Action<IBloggingDbContext> action)
{
using (var dbContext = GetRequiredService<IBloggingDbContext>())
{
action.Invoke(dbContext);
}
}
protected virtual T UsingDbContext<T>(Func<IBloggingDbContext, T> action)
{
using (var dbContext = GetRequiredService<IBloggingDbContext>())
{
return action.Invoke(dbContext);
}
}
}
}

@ -0,0 +1,12 @@
using System;
using Volo.Abp.DependencyInjection;
namespace Volo.Blogging
{
public class BloggingTestData : ISingletonDependency
{
public Guid Blog1Id { get; } = Guid.NewGuid();
public Guid Blog1Post1Id { get; } = Guid.NewGuid();
public Guid Blog1Post2Id { get; } = Guid.NewGuid();
}
}

@ -1,12 +1,31 @@
using Volo.Abp.DependencyInjection;
using System.Threading.Tasks;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Threading;
using Volo.Blogging.Blogs;
namespace Volo.Blogging
{
public class BloggingTestDataBuilder : ITransientDependency
{
private readonly BloggingTestData _testData;
private readonly IBlogRepository _blogRepository;
public BloggingTestDataBuilder(
BloggingTestData testData,
IBlogRepository blogRepository)
{
_testData = testData;
_blogRepository = blogRepository;
}
public void Build()
{
//TODO
AsyncHelper.RunSync(BuildAsync);
}
public async Task BuildAsync()
{
await _blogRepository.InsertAsync(new Blog(_testData.Blog1Id, "The First Blog", "blog-1"));
}
}
}

@ -16,10 +16,10 @@ namespace Volo.Blogging.Blogs
}
[Fact]
public async Task FindByShortNameAsync_Temp()
public async Task FindByShortNameAsync()
{
var blog = await BlogRepository.FindByShortNameAsync("default");
blog.ShouldBeNull();
var blog = await BlogRepository.FindByShortNameAsync("blog-1");
blog.ShouldNotBeNull();
}
}
}
Loading…
Cancel
Save