Browse Source

Refactor & cleanup docs tests

pull/988/head
Halil ibrahim Kalkan 8 years ago
parent
commit
e695925521
  1. 2
      modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/Projects/ProjectAdminAppService.cs
  2. 1
      modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Projects/IProjectAppService.cs
  3. 2
      modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/IProjectRepository.cs
  4. 5
      modules/docs/src/Volo.Docs.EntityFrameworkCore/Volo/Docs/Projects/EfCoreProjectRepository.cs
  5. 10
      modules/docs/test/Volo.Docs.Admin.Application.Tests/Volo/Docs/ApplicationService_Tests.cs
  6. 6
      modules/docs/test/Volo.Docs.Admin.Application.Tests/Volo/Docs/DocsApplicationTestBase.cs
  7. 5
      modules/docs/test/Volo.Docs.Admin.Application.Tests/Volo/Docs/DocsApplicationTestModule.cs
  8. 5
      modules/docs/test/Volo.Docs.Admin.Application.Tests/Volo/Docs/ProjectAdminAppService_Tests.cs
  9. 5
      modules/docs/test/Volo.Docs.Domain.Tests/Volo/Docs/DocumentStoreFactory_Tests.cs
  10. 11
      modules/docs/test/Volo.Docs.Domain.Tests/Volo/Docs/GithubDocumentStore_Tests.cs
  11. 56
      modules/docs/test/Volo.Docs.Domain.Tests/Volo/Docs/Project_Tests.cs
  12. 3
      modules/docs/test/Volo.Docs.EntityFrameworkCore.Tests/Volo/Docs/EntityFrameworkCore/DocsEntityFrameworkCoreTestModule.cs
  13. 6
      modules/docs/test/Volo.Docs.EntityFrameworkCore.Tests/Volo/Docs/EntityFrameworkCore/ProjectRepository_Tests.cs
  14. 33
      modules/docs/test/Volo.Docs.TestBase/Volo/Docs/DocsTestDataBuilder.cs
  15. 26
      modules/docs/test/Volo.Docs.TestBase/Volo/Docs/ProjectRepository_Tests.cs

2
modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/Projects/ProjectAdminAppService.cs

@ -26,7 +26,7 @@ namespace Volo.Docs.Admin.Projects
{
var projects = await _projectRepository.GetListAsync(input.Sorting, input.MaxResultCount, input.SkipCount);
var totalCount = await _projectRepository.GetTotalProjectCount();
var totalCount = await _projectRepository.GetCountAsync();
var dtos = ObjectMapper.Map<List<Project>, List<ProjectDto>>(projects);

1
modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Projects/IProjectAppService.cs

@ -1,4 +1,3 @@
using System;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;

2
modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/IProjectRepository.cs

@ -9,8 +9,6 @@ namespace Volo.Docs.Projects
{
Task<List<Project>> GetListAsync(string sorting, int maxResultCount, int skipCount);
Task<int> GetTotalProjectCount();
Task<Project> GetByShortNameAsync(string shortName);
}
}

5
modules/docs/src/Volo.Docs.EntityFrameworkCore/Volo/Docs/Projects/EfCoreProjectRepository.cs

@ -28,11 +28,6 @@ namespace Volo.Docs.Projects
return projects;
}
public async Task<int> GetTotalProjectCount()
{
return await DbSet.CountAsync();
}
public async Task<Project> GetByShortNameAsync(string shortName)
{
var project = await DbSet.FirstOrDefaultAsync(p => p.ShortName == shortName);

10
modules/docs/test/Volo.Docs.Admin.Application.Tests/Volo/Docs/ApplicationService_Tests.cs

@ -1,9 +1,5 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using System.Threading.Tasks;
using Shouldly;
using Volo.Docs.Admin.Projects;
using Volo.Docs.Projects;
using Xunit;
@ -12,12 +8,10 @@ namespace Volo.Docs
public class ApplicationService_Tests : DocsApplicationTestBase
{
private readonly IProjectAppService _projectAppService;
private readonly IProjectRepository _projectRepository;
private readonly DocsTestData _testData;
public ApplicationService_Tests()
{
_projectRepository = GetRequiredService<IProjectRepository>();
_projectAppService = GetRequiredService<IProjectAppService>();
_testData = GetRequiredService<DocsTestData>();
}
@ -44,7 +38,5 @@ namespace Volo.Docs
{
// TODO: Need to mock WebClient and Octokit components
}
}
}

6
modules/docs/test/Volo.Docs.Admin.Application.Tests/Volo/Docs/DocsApplicationTestBase.cs

@ -1,8 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Volo.Docs
namespace Volo.Docs
{
public class DocsAdminApplicationTestBase : DocsTestBase<DocsAdminApplicationTestModule>
{

5
modules/docs/test/Volo.Docs.Admin.Application.Tests/Volo/Docs/DocsApplicationTestModule.cs

@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using Volo.Abp.Modularity;
using Volo.Abp.Modularity;
using Volo.Docs.Admin;
namespace Volo.Docs

5
modules/docs/test/Volo.Docs.Admin.Application.Tests/Volo/Docs/ProjectAdminAppService_Tests.cs

@ -1,7 +1,5 @@
using System;
using System.Collections.Generic;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Shouldly;
using Volo.Abp.Application.Dtos;
@ -76,7 +74,6 @@ namespace Volo.Docs
projectDto.DocumentStoreType.ShouldBe(createProjectDto.DocumentStoreType);
projectDto.ExtraProperties.Except(createProjectDto.ExtraProperties).Any().ShouldBe(false);
}
[Fact]

5
modules/docs/test/Volo.Docs.Domain.Tests/Volo/Docs/DocumentStoreFactory_Tests.cs

@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using Shouldly;
using Shouldly;
using Volo.Docs.Documents;
using Volo.Docs.FileSystem.Documents;
using Volo.Docs.GitHub.Documents;

11
modules/docs/test/Volo.Docs.Domain.Tests/Volo/Docs/GithubDocumentStore_Tests.cs

@ -1,9 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using NSubstitute;
using Octokit;
using System.Threading.Tasks;
using Shouldly;
using Volo.Docs.Documents;
using Volo.Docs.GitHub.Documents;
@ -29,8 +24,10 @@ namespace Volo.Docs
public async Task GetDocumentAsync()
{
var store = _documentStoreFactory.Create(GithubDocumentStore.Type);
var project = await _projectRepository.FindAsync(_testData.PorjectId);
project.ShouldNotBeNull();
var document = await store.GetDocumentAsync(project, "index2", "0.123.0");
document.ShouldNotBeNull();
@ -44,6 +41,7 @@ namespace Volo.Docs
public async Task GetVersionsAsync()
{
var store = _documentStoreFactory.Create(GithubDocumentStore.Type);
var project = await _projectRepository.FindAsync(_testData.PorjectId);
project.ShouldNotBeNull();
@ -58,6 +56,7 @@ namespace Volo.Docs
public async Task GetResource()
{
var store = _documentStoreFactory.Create(GithubDocumentStore.Type);
var project = await _projectRepository.FindAsync(_testData.PorjectId);
project.ShouldNotBeNull();

56
modules/docs/test/Volo.Docs.Domain.Tests/Volo/Docs/Project_Tests.cs

@ -1,56 +0,0 @@
using System;
using System.Collections.Generic;
using System.Text;
using Shouldly;
using Volo.Docs.Projects;
using Xunit;
namespace Volo.Docs
{
public class Project_Tests : DocsDomainTestBase
{
[Theory]
[InlineData("aaa")]
[InlineData("bbb")]
public void SetName(string name)
{
var project = new Project(Guid.NewGuid(), "ABP vNext", "ABP", "Github", "md", "index",
"docs-nav.json");
project.SetName(name);
project.Name.ShouldBe(name);
}
[Theory]
[InlineData("aaa")]
[InlineData("bbb")]
public void SetFormat(string format)
{
var project = new Project(Guid.NewGuid(), "ABP vNext", "ABP", "Github", "md", "index",
"docs-nav.json");
project.SetFormat(format);
project.Format.ShouldBe(format);
}
[Theory]
[InlineData("aaa")]
[InlineData("bbb")]
public void SetNavigationDocumentName(string navigationDocumentName)
{
var project = new Project(Guid.NewGuid(), "ABP vNext", "ABP", "Github", "md", "index",
"docs-nav.json");
project.SetNavigationDocumentName(navigationDocumentName);
project.NavigationDocumentName.ShouldBe(navigationDocumentName);
}
[Theory]
[InlineData("aaa")]
[InlineData("bbb")]
public void SetDefaultDocumentName(string defaultDocumentName)
{
var project = new Project(Guid.NewGuid(), "ABP vNext", "ABP", "Github", "md", "index",
"docs-nav.json");
project.SetDefaultDocumentName(defaultDocumentName);
project.DefaultDocumentName.ShouldBe(defaultDocumentName);
}
}
}

3
modules/docs/test/Volo.Docs.EntityFrameworkCore.Tests/Volo/Docs/EntityFrameworkCore/DocsEntityFrameworkCoreTestModule.cs

@ -4,9 +4,8 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.Modularity;
using Volo.Docs.EntityFrameworkCore;
namespace Volo.Docs
namespace Volo.Docs.EntityFrameworkCore
{
[DependsOn(
typeof(DocsTestBaseModule),

6
modules/docs/test/Volo.Docs.EntityFrameworkCore.Tests/Volo/Docs/EntityFrameworkCore/ProjectRepository_Tests.cs

@ -1,8 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Volo.Docs.EntityFrameworkCore
namespace Volo.Docs.EntityFrameworkCore
{
public class ProjectRepository_Tests : ProjectRepository_Tests<DocsEntityFrameworkCoreTestModule>
{

33
modules/docs/test/Volo.Docs.TestBase/Volo/Docs/DocsTestDataBuilder.cs

@ -1,5 +1,5 @@
using Volo.Abp.DependencyInjection;
using Volo.Abp.Guids;
using Volo.Abp.Data;
using Volo.Abp.DependencyInjection;
using Volo.Docs.GitHub.Documents;
using Volo.Docs.Projects;
@ -7,26 +7,33 @@ namespace Volo.Docs
{
public class DocsTestDataBuilder : ITransientDependency
{
private readonly IGuidGenerator _guidGenerator;
private DocsTestData _testData;
private IProjectRepository _projectRepository;
private readonly DocsTestData _testData;
private readonly IProjectRepository _projectRepository;
public DocsTestDataBuilder(
IGuidGenerator guidGenerator,
DocsTestData testData, IProjectRepository projectRepository)
DocsTestData testData,
IProjectRepository projectRepository)
{
_guidGenerator = guidGenerator;
_testData = testData;
_projectRepository = projectRepository;
}
public void Build()
{
var project = new Project(_testData.PorjectId, "ABP vNext", "ABP", GithubDocumentStore.Type, "md", "index",
"docs-nav.json");
project.ExtraProperties.Add("GitHubRootUrl", "https://github.com/abpframework/abp/tree/{version}/docs/en/");
project.ExtraProperties.Add("GitHubAccessToken", "123456");
project.ExtraProperties.Add("GitHubUserAgent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64)");
var project = new Project(
_testData.PorjectId,
"ABP vNext",
"ABP",
GithubDocumentStore.Type,
"md",
"index",
"docs-nav.json"
);
project
.SetProperty("GitHubRootUrl", "https://github.com/abpframework/abp/tree/{version}/docs/en/")
.SetProperty("GitHubAccessToken", "123456")
.SetProperty("GitHubUserAgent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64)");
_projectRepository.Insert(project);
}

26
modules/docs/test/Volo.Docs.TestBase/Volo/Docs/ProjectRepository_Tests.cs

@ -1,8 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using System.Threading.Tasks;
using Shouldly;
using Volo.Abp.Modularity;
using Volo.Docs.Projects;
@ -13,35 +9,25 @@ namespace Volo.Docs
public abstract class ProjectRepository_Tests<TStartupModule> : DocsTestBase<TStartupModule>
where TStartupModule : IAbpModule
{
protected readonly IProjectRepository _projectRepository;
protected readonly IProjectRepository ProjectRepository;
protected ProjectRepository_Tests()
{
_projectRepository = GetRequiredService<IProjectRepository>(); ;
ProjectRepository = GetRequiredService<IProjectRepository>(); ;
}
[Fact]
public async Task GetListAsync()
{
var projects = await _projectRepository.GetListAsync();
var projects = await ProjectRepository.GetListAsync();
projects.ShouldNotBeNull();
projects.Count.ShouldBe(1);
}
[Fact]
public async Task GetTotalProjectCount()
{
var count = await _projectRepository.GetTotalProjectCount();
count.ShouldBe(1);
}
[Fact]
public async Task GetByShortNameAsync()
{
var project = await _projectRepository.GetByShortNameAsync("ABP");
var project = await ProjectRepository.GetByShortNameAsync("ABP");
project.ShouldNotBeNull();
project.ShortName.ShouldBe("ABP");

Loading…
Cancel
Save