From eec24898a0838f1254ef5e58a54d0c0cc035d7fb Mon Sep 17 00:00:00 2001 From: malik masis Date: Wed, 23 Nov 2022 11:27:36 +0300 Subject: [PATCH] Fixed the unpassed unit test --- .../Pages/PageManager_Test.cs | 200 +++++++++--------- 1 file changed, 96 insertions(+), 104 deletions(-) diff --git a/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Pages/PageManager_Test.cs b/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Pages/PageManager_Test.cs index 44cea7d005..9eac77773d 100644 --- a/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Pages/PageManager_Test.cs +++ b/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Pages/PageManager_Test.cs @@ -1,113 +1,105 @@ using System.Threading.Tasks; using Shouldly; -using Volo.CmsKit.Tags; +using Volo.Abp; using Xunit; namespace Volo.CmsKit.Pages; public class PageManager_Test : CmsKitDomainTestBase { - private readonly PageManager pageManager; - private readonly CmsKitTestData testData; - private readonly IPageRepository pageRepository; - - public PageManager_Test() - { - pageManager = GetRequiredService(); - testData = GetRequiredService(); - pageRepository = GetRequiredService(); - } - - [Fact] - public async Task CreateAsync_ShouldWorkProperly_WithNonExistingSlug() - { - var title = "My awesome page"; - var slug = "my-awesome-page"; - var content = "

My Awesome Page

This is my awesome page content!

"; - - var page = await pageManager.CreateAsync(title, slug, content); - - page.ShouldNotBeNull(); - page.Title.ShouldBe(title); - page.Slug.ShouldBe(slug); - page.Content.ShouldBe(content); - } - - [Fact] - public async Task CreateAsync_ShouldThrowException_WithExistingSlug() - { - var title = "My awesome page"; - var slug = testData.Page_1_Slug; - var content = "

My Awesome Page

This is my awesome page content!

"; - - var exception = await Should.ThrowAsync(async () => - await pageManager.CreateAsync(title, slug, content)); - - exception.ShouldNotBeNull(); - } - - [Fact] - public async Task SetSlugAsync_ShouldWorkProperly_WithNonExistingSlug() - { - var newSlug = "freshly-generated-new-slug"; - var page = await pageRepository.GetAsync(testData.Page_1_Id); - - await pageManager.SetSlugAsync(page, newSlug); - - page.Slug.ShouldBe(newSlug); - } - - [Fact] - public async Task SetSlugAsync_ShouldThrowException_WithExistingSlug() - { - var newSlug = testData.Page_2_Slug; - var page = await pageRepository.GetAsync(testData.Page_1_Id); - - var exception = await Should.ThrowAsync(async () => - await pageManager.SetSlugAsync(page, newSlug)); - - exception.ShouldNotBeNull(); - } - - [Fact] - public async Task SetHomePageAsync_ShouldWorkProperly_IfExistHomePage() - { - await WithUnitOfWorkAsync(async ()=> - { - var page = await pageRepository.GetAsync(testData.Page_1_Id); - - await pageManager.SetHomePageAsync(page); - }); - - var page = await pageRepository.GetAsync(testData.Page_1_Id); - page.IsHomePage.ShouldBeTrue(); - - var pageSetAsHomePageAsFalse = await pageRepository.GetAsync(testData.Page_2_Id); - pageSetAsHomePageAsFalse.IsHomePage.ShouldBeFalse(); - } - - [Fact] - public async Task SetHomePageAsync_ShouldFix_WhenMultipleHomePageExist() - { - await WithUnitOfWorkAsync(async () => - { - var page1 = await pageRepository.GetAsync(testData.Page_1_Id); - var page2 = await pageRepository.GetAsync(testData.Page_2_Id); - - page1.SetIsHomePage(true); - page2.SetIsHomePage(true); - - await pageRepository.UpdateManyAsync(new[] { page1, page2 }, autoSave: true); - - await pageManager.SetHomePageAsync(page1); - }); - - var page1 = await pageRepository.GetAsync(testData.Page_1_Id); - var page2 = await pageRepository.GetAsync(testData.Page_2_Id); - - page2 = await pageRepository.GetAsync(testData.Page_2_Id); - - page1.IsHomePage.ShouldBeTrue(); - page2.IsHomePage.ShouldBeFalse(); - } + private readonly PageManager pageManager; + private readonly CmsKitTestData testData; + private readonly IPageRepository pageRepository; + + public PageManager_Test() + { + pageManager = GetRequiredService(); + testData = GetRequiredService(); + pageRepository = GetRequiredService(); + } + + [Fact] + public async Task CreateAsync_ShouldWorkProperly_WithNonExistingSlug() + { + var title = "My awesome page"; + var slug = "my-awesome-page"; + var content = "

My Awesome Page

This is my awesome page content!

"; + + var page = await pageManager.CreateAsync(title, slug, content); + + page.ShouldNotBeNull(); + page.Title.ShouldBe(title); + page.Slug.ShouldBe(slug); + page.Content.ShouldBe(content); + } + + [Fact] + public async Task CreateAsync_ShouldThrowException_WithExistingSlug() + { + var title = "My awesome page"; + var slug = testData.Page_1_Slug; + var content = "

My Awesome Page

This is my awesome page content!

"; + + var exception = await Should.ThrowAsync(async () => + await pageManager.CreateAsync(title, slug, content)); + + exception.ShouldNotBeNull(); + } + + [Fact] + public async Task SetSlugAsync_ShouldWorkProperly_WithNonExistingSlug() + { + var newSlug = "freshly-generated-new-slug"; + var page = await pageRepository.GetAsync(testData.Page_1_Id); + + await pageManager.SetSlugAsync(page, newSlug); + + page.Slug.ShouldBe(newSlug); + } + + [Fact] + public async Task SetSlugAsync_ShouldThrowException_WithExistingSlug() + { + var newSlug = testData.Page_2_Slug; + var page = await pageRepository.GetAsync(testData.Page_1_Id); + + var exception = await Should.ThrowAsync(async () => + await pageManager.SetSlugAsync(page, newSlug)); + + exception.ShouldNotBeNull(); + } + + [Fact] + public async Task SetHomePageAsync_ShouldWorkProperly_IfExistHomePage() + { + await WithUnitOfWorkAsync(async () => + { + var page = await pageRepository.GetAsync(testData.Page_1_Id); + + await pageManager.SetHomePageAsync(page); + }); + + var page = await pageRepository.GetAsync(testData.Page_1_Id); + page.IsHomePage.ShouldBeTrue(); + + var pageSetAsHomePageAsFalse = await pageRepository.GetAsync(testData.Page_2_Id); + pageSetAsHomePageAsFalse.IsHomePage.ShouldBeFalse(); + } + + [Fact] + public async Task SetHomePageAsync_ShouldThrowException_WhenMultipleHomePageExist() + { + await WithUnitOfWorkAsync(async () => + { + var page1 = await pageRepository.GetAsync(testData.Page_1_Id); + var page2 = await pageRepository.GetAsync(testData.Page_2_Id); + + page1.SetIsHomePage(true); + page2.SetIsHomePage(true); + + await pageRepository.UpdateManyAsync(new[] { page1, page2 }, autoSave: true); + + await Assert.ThrowsAsync(async () => await pageManager.SetHomePageAsync(page1)); + }); + } }