From e695925521710171ea6676e8c321dcff74f09691 Mon Sep 17 00:00:00 2001 From: Halil ibrahim Kalkan Date: Mon, 8 Apr 2019 21:26:59 +0300 Subject: [PATCH] Refactor & cleanup docs tests --- .../Admin/Projects/ProjectAdminAppService.cs | 2 +- .../Volo/Docs/Projects/IProjectAppService.cs | 1 - .../Volo/Docs/Projects/IProjectRepository.cs | 2 - .../Docs/Projects/EfCoreProjectRepository.cs | 5 -- .../Volo/Docs/ApplicationService_Tests.cs | 10 +--- .../Volo/Docs/DocsApplicationTestBase.cs | 6 +- .../Volo/Docs/DocsApplicationTestModule.cs | 5 +- .../Volo/Docs/ProjectAdminAppService_Tests.cs | 5 +- .../Volo/Docs/DocumentStoreFactory_Tests.cs | 5 +- .../Volo/Docs/GithubDocumentStore_Tests.cs | 11 ++-- .../Volo/Docs/Project_Tests.cs | 56 ------------------- .../DocsEntityFrameworkCoreTestModule.cs | 3 +- .../ProjectRepository_Tests.cs | 6 +- .../Volo/Docs/DocsTestDataBuilder.cs | 33 ++++++----- .../Volo/Docs/ProjectRepository_Tests.cs | 26 ++------- 15 files changed, 39 insertions(+), 137 deletions(-) delete mode 100644 modules/docs/test/Volo.Docs.Domain.Tests/Volo/Docs/Project_Tests.cs diff --git a/modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/Projects/ProjectAdminAppService.cs b/modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/Projects/ProjectAdminAppService.cs index ec84824d24..e8a760c940 100644 --- a/modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/Projects/ProjectAdminAppService.cs +++ b/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>(projects); diff --git a/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Projects/IProjectAppService.cs b/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Projects/IProjectAppService.cs index f06c676079..5bfc221e4d 100644 --- a/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Projects/IProjectAppService.cs +++ b/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; diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/IProjectRepository.cs b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/IProjectRepository.cs index 1872d33cd8..4a6ad77ddd 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/IProjectRepository.cs +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/IProjectRepository.cs @@ -9,8 +9,6 @@ namespace Volo.Docs.Projects { Task> GetListAsync(string sorting, int maxResultCount, int skipCount); - Task GetTotalProjectCount(); - Task GetByShortNameAsync(string shortName); } } \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.EntityFrameworkCore/Volo/Docs/Projects/EfCoreProjectRepository.cs b/modules/docs/src/Volo.Docs.EntityFrameworkCore/Volo/Docs/Projects/EfCoreProjectRepository.cs index 0df6f12c42..b54869edcd 100644 --- a/modules/docs/src/Volo.Docs.EntityFrameworkCore/Volo/Docs/Projects/EfCoreProjectRepository.cs +++ b/modules/docs/src/Volo.Docs.EntityFrameworkCore/Volo/Docs/Projects/EfCoreProjectRepository.cs @@ -28,11 +28,6 @@ namespace Volo.Docs.Projects return projects; } - public async Task GetTotalProjectCount() - { - return await DbSet.CountAsync(); - } - public async Task GetByShortNameAsync(string shortName) { var project = await DbSet.FirstOrDefaultAsync(p => p.ShortName == shortName); diff --git a/modules/docs/test/Volo.Docs.Admin.Application.Tests/Volo/Docs/ApplicationService_Tests.cs b/modules/docs/test/Volo.Docs.Admin.Application.Tests/Volo/Docs/ApplicationService_Tests.cs index 638913d971..02bcc4e0db 100644 --- a/modules/docs/test/Volo.Docs.Admin.Application.Tests/Volo/Docs/ApplicationService_Tests.cs +++ b/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(); _projectAppService = GetRequiredService(); _testData = GetRequiredService(); } @@ -44,7 +38,5 @@ namespace Volo.Docs { // TODO: Need to mock WebClient and Octokit components } - } - } diff --git a/modules/docs/test/Volo.Docs.Admin.Application.Tests/Volo/Docs/DocsApplicationTestBase.cs b/modules/docs/test/Volo.Docs.Admin.Application.Tests/Volo/Docs/DocsApplicationTestBase.cs index 25ce81871d..9f2dfa06b8 100644 --- a/modules/docs/test/Volo.Docs.Admin.Application.Tests/Volo/Docs/DocsApplicationTestBase.cs +++ b/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 { diff --git a/modules/docs/test/Volo.Docs.Admin.Application.Tests/Volo/Docs/DocsApplicationTestModule.cs b/modules/docs/test/Volo.Docs.Admin.Application.Tests/Volo/Docs/DocsApplicationTestModule.cs index 8212a816a6..32c49787b3 100644 --- a/modules/docs/test/Volo.Docs.Admin.Application.Tests/Volo/Docs/DocsApplicationTestModule.cs +++ b/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 diff --git a/modules/docs/test/Volo.Docs.Admin.Application.Tests/Volo/Docs/ProjectAdminAppService_Tests.cs b/modules/docs/test/Volo.Docs.Admin.Application.Tests/Volo/Docs/ProjectAdminAppService_Tests.cs index dac273a9ba..9fcb65f9ae 100644 --- a/modules/docs/test/Volo.Docs.Admin.Application.Tests/Volo/Docs/ProjectAdminAppService_Tests.cs +++ b/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] diff --git a/modules/docs/test/Volo.Docs.Domain.Tests/Volo/Docs/DocumentStoreFactory_Tests.cs b/modules/docs/test/Volo.Docs.Domain.Tests/Volo/Docs/DocumentStoreFactory_Tests.cs index afd28bb8ca..73e07ec8e2 100644 --- a/modules/docs/test/Volo.Docs.Domain.Tests/Volo/Docs/DocumentStoreFactory_Tests.cs +++ b/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; diff --git a/modules/docs/test/Volo.Docs.Domain.Tests/Volo/Docs/GithubDocumentStore_Tests.cs b/modules/docs/test/Volo.Docs.Domain.Tests/Volo/Docs/GithubDocumentStore_Tests.cs index ac04ec0e46..1f8bfeca77 100644 --- a/modules/docs/test/Volo.Docs.Domain.Tests/Volo/Docs/GithubDocumentStore_Tests.cs +++ b/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(); diff --git a/modules/docs/test/Volo.Docs.Domain.Tests/Volo/Docs/Project_Tests.cs b/modules/docs/test/Volo.Docs.Domain.Tests/Volo/Docs/Project_Tests.cs deleted file mode 100644 index 808ff88afa..0000000000 --- a/modules/docs/test/Volo.Docs.Domain.Tests/Volo/Docs/Project_Tests.cs +++ /dev/null @@ -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); - } - } -} diff --git a/modules/docs/test/Volo.Docs.EntityFrameworkCore.Tests/Volo/Docs/EntityFrameworkCore/DocsEntityFrameworkCoreTestModule.cs b/modules/docs/test/Volo.Docs.EntityFrameworkCore.Tests/Volo/Docs/EntityFrameworkCore/DocsEntityFrameworkCoreTestModule.cs index 8a73b060cc..a4d5eb5a25 100644 --- a/modules/docs/test/Volo.Docs.EntityFrameworkCore.Tests/Volo/Docs/EntityFrameworkCore/DocsEntityFrameworkCoreTestModule.cs +++ b/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), diff --git a/modules/docs/test/Volo.Docs.EntityFrameworkCore.Tests/Volo/Docs/EntityFrameworkCore/ProjectRepository_Tests.cs b/modules/docs/test/Volo.Docs.EntityFrameworkCore.Tests/Volo/Docs/EntityFrameworkCore/ProjectRepository_Tests.cs index 8aa3919905..9f04386b09 100644 --- a/modules/docs/test/Volo.Docs.EntityFrameworkCore.Tests/Volo/Docs/EntityFrameworkCore/ProjectRepository_Tests.cs +++ b/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 { diff --git a/modules/docs/test/Volo.Docs.TestBase/Volo/Docs/DocsTestDataBuilder.cs b/modules/docs/test/Volo.Docs.TestBase/Volo/Docs/DocsTestDataBuilder.cs index 7950ea8348..39ffc9691e 100644 --- a/modules/docs/test/Volo.Docs.TestBase/Volo/Docs/DocsTestDataBuilder.cs +++ b/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); } diff --git a/modules/docs/test/Volo.Docs.TestBase/Volo/Docs/ProjectRepository_Tests.cs b/modules/docs/test/Volo.Docs.TestBase/Volo/Docs/ProjectRepository_Tests.cs index 66c306bd4e..d4351aa11e 100644 --- a/modules/docs/test/Volo.Docs.TestBase/Volo/Docs/ProjectRepository_Tests.cs +++ b/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 : DocsTestBase where TStartupModule : IAbpModule { - - protected readonly IProjectRepository _projectRepository; + protected readonly IProjectRepository ProjectRepository; protected ProjectRepository_Tests() { - _projectRepository = GetRequiredService(); ; + ProjectRepository = GetRequiredService(); ; } [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");