Browse Source

Fixed the unpassed unit test

pull/14786/head
malik masis 4 years ago
parent
commit
eec24898a0
  1. 200
      modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Pages/PageManager_Test.cs

200
modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Pages/PageManager_Test.cs

@ -1,113 +1,105 @@
using System.Threading.Tasks; using System.Threading.Tasks;
using Shouldly; using Shouldly;
using Volo.CmsKit.Tags; using Volo.Abp;
using Xunit; using Xunit;
namespace Volo.CmsKit.Pages; namespace Volo.CmsKit.Pages;
public class PageManager_Test : CmsKitDomainTestBase public class PageManager_Test : CmsKitDomainTestBase
{ {
private readonly PageManager pageManager; private readonly PageManager pageManager;
private readonly CmsKitTestData testData; private readonly CmsKitTestData testData;
private readonly IPageRepository pageRepository; private readonly IPageRepository pageRepository;
public PageManager_Test() public PageManager_Test()
{ {
pageManager = GetRequiredService<PageManager>(); pageManager = GetRequiredService<PageManager>();
testData = GetRequiredService<CmsKitTestData>(); testData = GetRequiredService<CmsKitTestData>();
pageRepository = GetRequiredService<IPageRepository>(); pageRepository = GetRequiredService<IPageRepository>();
} }
[Fact] [Fact]
public async Task CreateAsync_ShouldWorkProperly_WithNonExistingSlug() public async Task CreateAsync_ShouldWorkProperly_WithNonExistingSlug()
{ {
var title = "My awesome page"; var title = "My awesome page";
var slug = "my-awesome-page"; var slug = "my-awesome-page";
var content = "<h1>My Awesome Page</h1><p>This is my awesome page content!</p>"; var content = "<h1>My Awesome Page</h1><p>This is my awesome page content!</p>";
var page = await pageManager.CreateAsync(title, slug, content); var page = await pageManager.CreateAsync(title, slug, content);
page.ShouldNotBeNull(); page.ShouldNotBeNull();
page.Title.ShouldBe(title); page.Title.ShouldBe(title);
page.Slug.ShouldBe(slug); page.Slug.ShouldBe(slug);
page.Content.ShouldBe(content); page.Content.ShouldBe(content);
} }
[Fact] [Fact]
public async Task CreateAsync_ShouldThrowException_WithExistingSlug() public async Task CreateAsync_ShouldThrowException_WithExistingSlug()
{ {
var title = "My awesome page"; var title = "My awesome page";
var slug = testData.Page_1_Slug; var slug = testData.Page_1_Slug;
var content = "<h1>My Awesome Page</h1><p>This is my awesome page content!</p>"; var content = "<h1>My Awesome Page</h1><p>This is my awesome page content!</p>";
var exception = await Should.ThrowAsync<PageSlugAlreadyExistsException>(async () => var exception = await Should.ThrowAsync<PageSlugAlreadyExistsException>(async () =>
await pageManager.CreateAsync(title, slug, content)); await pageManager.CreateAsync(title, slug, content));
exception.ShouldNotBeNull(); exception.ShouldNotBeNull();
} }
[Fact] [Fact]
public async Task SetSlugAsync_ShouldWorkProperly_WithNonExistingSlug() public async Task SetSlugAsync_ShouldWorkProperly_WithNonExistingSlug()
{ {
var newSlug = "freshly-generated-new-slug"; var newSlug = "freshly-generated-new-slug";
var page = await pageRepository.GetAsync(testData.Page_1_Id); var page = await pageRepository.GetAsync(testData.Page_1_Id);
await pageManager.SetSlugAsync(page, newSlug); await pageManager.SetSlugAsync(page, newSlug);
page.Slug.ShouldBe(newSlug); page.Slug.ShouldBe(newSlug);
} }
[Fact] [Fact]
public async Task SetSlugAsync_ShouldThrowException_WithExistingSlug() public async Task SetSlugAsync_ShouldThrowException_WithExistingSlug()
{ {
var newSlug = testData.Page_2_Slug; var newSlug = testData.Page_2_Slug;
var page = await pageRepository.GetAsync(testData.Page_1_Id); var page = await pageRepository.GetAsync(testData.Page_1_Id);
var exception = await Should.ThrowAsync<PageSlugAlreadyExistsException>(async () => var exception = await Should.ThrowAsync<PageSlugAlreadyExistsException>(async () =>
await pageManager.SetSlugAsync(page, newSlug)); await pageManager.SetSlugAsync(page, newSlug));
exception.ShouldNotBeNull(); exception.ShouldNotBeNull();
} }
[Fact] [Fact]
public async Task SetHomePageAsync_ShouldWorkProperly_IfExistHomePage() public async Task SetHomePageAsync_ShouldWorkProperly_IfExistHomePage()
{ {
await WithUnitOfWorkAsync(async ()=> await WithUnitOfWorkAsync(async () =>
{ {
var page = await pageRepository.GetAsync(testData.Page_1_Id); var page = await pageRepository.GetAsync(testData.Page_1_Id);
await pageManager.SetHomePageAsync(page); await pageManager.SetHomePageAsync(page);
}); });
var page = await pageRepository.GetAsync(testData.Page_1_Id); var page = await pageRepository.GetAsync(testData.Page_1_Id);
page.IsHomePage.ShouldBeTrue(); page.IsHomePage.ShouldBeTrue();
var pageSetAsHomePageAsFalse = await pageRepository.GetAsync(testData.Page_2_Id); var pageSetAsHomePageAsFalse = await pageRepository.GetAsync(testData.Page_2_Id);
pageSetAsHomePageAsFalse.IsHomePage.ShouldBeFalse(); pageSetAsHomePageAsFalse.IsHomePage.ShouldBeFalse();
} }
[Fact] [Fact]
public async Task SetHomePageAsync_ShouldFix_WhenMultipleHomePageExist() public async Task SetHomePageAsync_ShouldThrowException_WhenMultipleHomePageExist()
{ {
await WithUnitOfWorkAsync(async () => await WithUnitOfWorkAsync(async () =>
{ {
var page1 = await pageRepository.GetAsync(testData.Page_1_Id); var page1 = await pageRepository.GetAsync(testData.Page_1_Id);
var page2 = await pageRepository.GetAsync(testData.Page_2_Id); var page2 = await pageRepository.GetAsync(testData.Page_2_Id);
page1.SetIsHomePage(true); page1.SetIsHomePage(true);
page2.SetIsHomePage(true); page2.SetIsHomePage(true);
await pageRepository.UpdateManyAsync(new[] { page1, page2 }, autoSave: true); await pageRepository.UpdateManyAsync(new[] { page1, page2 }, autoSave: true);
await pageManager.SetHomePageAsync(page1); await Assert.ThrowsAsync<BusinessException>(async () => 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();
}
} }

Loading…
Cancel
Save