diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/IBlogPostAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/IBlogPostAdminAppService.cs index aa110fe938..846cba2d5b 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/IBlogPostAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/IBlogPostAdminAppService.cs @@ -14,8 +14,6 @@ namespace Volo.CmsKit.Admin.Blogs CreateBlogPostDto, UpdateBlogPostDto> { - Task GetBySlugAsync(string blogSlug, string slug); - Task SetCoverImageAsync(Guid id, RemoteStreamContent streamContent); Task GetCoverImageAsync(Guid id); diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogPostAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogPostAdminAppService.cs index fc57121040..c510500d7c 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogPostAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogPostAdminAppService.cs @@ -54,15 +54,6 @@ namespace Volo.CmsKit.Admin.Blogs DeletePolicyName = CmsKitAdminPermissions.BlogPosts.Delete; } - public virtual async Task GetBySlugAsync(string blogSlug, string blogPostSlug) - { - var blog = await BlogRepository.GetBySlugAsync(blogSlug); - - var blogPost = await BlogPostRepository.GetBySlugAsync(blog.Id, blogPostSlug); - - return await MapToGetOutputDtoAsync(blogPost); - } - [Authorize(CmsKitAdminPermissions.BlogPosts.Create)] public override async Task CreateAsync(CreateBlogPostDto input) { diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogPostAdminController.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogPostAdminController.cs index 92d23dff4d..f1583cbe17 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogPostAdminController.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogPostAdminController.cs @@ -52,14 +52,6 @@ namespace Volo.CmsKit.Admin.Blogs return BlogPostAdminAppService.GetAsync(id); } - [HttpGet] - [Route("{blogSlug}/{blogPostSlug}")] - [Authorize(CmsKitAdminPermissions.BlogPosts.Default)] - public virtual Task GetBySlugAsync(string blogSlug, string blogPostSlug) - { - return BlogPostAdminAppService.GetBySlugAsync(blogSlug, blogPostSlug); - } - [HttpGet] [Route("{id}/cover-image")] [Authorize(CmsKitAdminPermissions.BlogPosts.Default)] diff --git a/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Blogs/BlogPostAdminAppService_Tests.cs b/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Blogs/BlogPostAdminAppService_Tests.cs index abc6ea54b9..4fe6f2e23e 100644 --- a/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Blogs/BlogPostAdminAppService_Tests.cs +++ b/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Blogs/BlogPostAdminAppService_Tests.cs @@ -90,35 +90,6 @@ namespace Volo.CmsKit.Blogs exception.Id.ShouldBe(nonExistingId); } - [Fact] - public async Task GetBySlugAsync_ShouldWorkProperly_WithExistingSlug() - { - var blogPost = await blogPostAdminAppService.GetBySlugAsync(cmsKitTestData.BlogSlug, cmsKitTestData.BlogPost_1_Slug); - - blogPost.Id.ShouldBe(cmsKitTestData.BlogPost_1_Id); - blogPost.Title.ShouldBe(cmsKitTestData.BlogPost_1_Title); - } - - [Fact] - public async Task GetBySlugAsync_ShouldThrowException_WithNonExistingBlogPostSlug() - { - var nonExistingSlug = "any-other-url"; - var exception = await Should.ThrowAsync(async () => - await blogPostAdminAppService.GetBySlugAsync(cmsKitTestData.BlogSlug, nonExistingSlug)); - - exception.EntityType.ShouldBe(typeof(BlogPost)); - } - - [Fact] - public async Task GetBySlugAsync_ShouldThrowException_WithNonExistingBlogSlug() - { - var nonExistingSlug = "any-other-url"; - var exception = await Should.ThrowAsync(async () => - await blogPostAdminAppService.GetBySlugAsync(nonExistingSlug, cmsKitTestData.Page_1_Slug)); - - exception.EntityType.ShouldBe(typeof(Blog)); - } - [Fact] public async Task GetListAsync_ShouldWorkProperly_WithDefaultParameters() { diff --git a/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Blogs/BlogPostPublicAppService_Tests.cs b/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Blogs/BlogPostPublicAppService_Tests.cs new file mode 100644 index 0000000000..55310a4e84 --- /dev/null +++ b/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Blogs/BlogPostPublicAppService_Tests.cs @@ -0,0 +1,66 @@ +using Shouldly; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Volo.Abp.Application.Dtos; +using Volo.Abp.Domain.Entities; +using Volo.CmsKit.Public.Blogs; +using Xunit; + +namespace Volo.CmsKit.Blogs +{ + public class BlogPostPublicAppService_Tests : CmsKitApplicationTestBase + { + private readonly IBlogPostPublicAppService blogPostAppService; + + private readonly CmsKitTestData cmsKitTestData; + + public BlogPostPublicAppService_Tests() + { + blogPostAppService = GetRequiredService(); + cmsKitTestData = GetRequiredService(); + } + + [Fact] + public async Task GetListAsync_ShouldWorkProperly_WithExistingBlog() + { + var blogPosts = await blogPostAppService.GetListAsync(cmsKitTestData.BlogSlug, new PagedAndSortedResultRequestDto { MaxResultCount = 2 }); + + blogPosts.ShouldNotBeNull(); + blogPosts.TotalCount.ShouldBe(2); + blogPosts.Items.ShouldNotBeEmpty(); + blogPosts.Items.Count.ShouldBe(2); + } + + [Fact] + public async Task GetAsync_ShouldWorkProperly_WithExistingSlug() + { + var blogPost = await blogPostAppService.GetAsync(cmsKitTestData.BlogSlug, cmsKitTestData.BlogPost_1_Slug); + + blogPost.Id.ShouldBe(cmsKitTestData.BlogPost_1_Id); + blogPost.Title.ShouldBe(cmsKitTestData.BlogPost_1_Title); + } + + [Fact] + public async Task GetAsync_ShouldThrowException_WithNonExistingBlogPostSlug() + { + var nonExistingSlug = "any-other-url"; + var exception = await Should.ThrowAsync(async () => + await blogPostAppService.GetAsync(cmsKitTestData.BlogSlug, nonExistingSlug)); + + exception.EntityType.ShouldBe(typeof(BlogPost)); + } + + [Fact] + public async Task GetAsync_ShouldThrowException_WithNonExistingBlogSlug() + { + var nonExistingSlug = "any-other-url"; + var exception = await Should.ThrowAsync(async () => + await blogPostAppService.GetAsync(nonExistingSlug, cmsKitTestData.Page_1_Slug)); + + exception.EntityType.ShouldBe(typeof(Blog)); + } + } +}