From f27776430d2824e6f7151a70c1d649838f5cd21b Mon Sep 17 00:00:00 2001 From: enisn Date: Tue, 9 Feb 2021 11:07:29 +0300 Subject: [PATCH] CmsKit - Rafactoring - Change naming UrlSlug to Slug --- .../Volo/CmsKit/Admin/Blogs/BlogDto.cs | 4 +- .../Volo/CmsKit/Admin/Blogs/BlogPostDto.cs | 2 +- .../Admin/Blogs/CreateUpdateBlogPostDto.cs | 6 +-- .../Admin/Blogs/IBlogPostAdminAppService.cs | 2 +- .../Admin/Blogs/BlogPostAdminAppService.cs | 12 +++--- .../Admin/Blogs/BlogPostAdminController.cs | 6 +-- .../Volo/CmsKit/Blogs/BlogConsts.cs | 2 +- .../Volo/CmsKit/Blogs/BlogPostConsts.cs | 4 +- .../Volo/CmsKit/CmsKitErrorCodes.cs | 2 +- .../Volo/CmsKit/Blogs/Blog.cs | 12 +++--- .../Volo/CmsKit/Blogs/BlogPost.cs | 12 +++--- .../Volo/CmsKit/Blogs/BlogPostManager.cs | 12 +++--- .../BlogPostSlugAlreadyExistException.cs | 31 ++++++++++++++ .../BlogPostUrlSlugAlreadyExistException.cs | 31 -------------- ...UrlSlugExtensions.cs => SlugExtensions.cs} | 6 +-- .../Volo/CmsKit/Blogs/IBlogPostRepository.cs | 2 +- .../Volo/CmsKit/Blogs/IBlogRepository.cs | 2 +- .../CmsKit/Blogs/EfCoreBlogPostRepository.cs | 6 +-- .../Volo/CmsKit/Blogs/EfCoreBlogRepository.cs | 4 +- .../CmsKitDbContextModelCreatingExtensions.cs | 6 +-- .../MongoDB/Blogs/MongoBlogPostRepository.cs | 6 +-- .../MongoDB/Blogs/MongoBlogRepository.cs | 4 +- .../CmsKit/Public/Blogs/BlogPostPublicDto.cs | 2 +- .../Public/Blogs/IBlogPostPublicAppService.cs | 4 +- .../Public/Blogs/BlogPostPublicAppService.cs | 10 ++--- .../Public/Blogs/BlogPostPublicController.cs | 8 ++-- .../Pages/CmsKit/Blogs/BlogPost.cshtml | 6 +-- .../Pages/CmsKit/Blogs/BlogPost.cshtml.cs | 6 +-- .../Pages/CmsKit/Blogs/Index.cshtml | 4 +- .../Pages/CmsKit/Blogs/Index.cshtml.cs | 4 +- .../BlogPost/DefaultBlogPostViewComponent.cs | 4 +- .../Blogs/BlogPostAdminAppService_Tests.cs | 42 +++++++++---------- .../Blogs/BlogPostManager_Tests.cs | 28 ++++++------- ...sions_Tests.cs => SlugExtensions_Tests.cs} | 38 ++++++++--------- .../Blogs/BlogPostRepository_Test.cs | 22 +++++----- .../Blogs/BlogRepository_Test.cs | 10 ++--- .../CmsKitDataSeedContributor.cs | 6 +-- .../Volo.CmsKit.TestBase/CmsKitTestData.cs | 6 +-- 38 files changed, 186 insertions(+), 188 deletions(-) create mode 100644 modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/BlogPostSlugAlreadyExistException.cs delete mode 100644 modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/BlogPostUrlSlugAlreadyExistException.cs rename modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/Extensions/{UrlSlugExtensions.cs => SlugExtensions.cs} (53%) rename modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Blogs/{UrlSlugExtensions_Tests.cs => SlugExtensions_Tests.cs} (67%) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogDto.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogDto.cs index 0f112d15b8..6bf7adcfaa 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogDto.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogDto.cs @@ -13,7 +13,7 @@ namespace Volo.CmsKit.Admin.Blogs public string Name { get; set; } [Required] - [DynamicMaxLength(typeof(BlogConsts), nameof(BlogConsts.MaxUrlSlugLength))] - public string UrlSlug { get; set; } + [DynamicMaxLength(typeof(BlogConsts), nameof(BlogConsts.MaxSlugLength))] + public string Slug { get; set; } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogPostDto.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogPostDto.cs index e1463ceba3..9d1e74a578 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogPostDto.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogPostDto.cs @@ -9,7 +9,7 @@ namespace Volo.CmsKit.Admin.Blogs public string Title { get; set; } - public string UrlSlug { get; set; } + public string Slug { get; set; } public string ShortDescription { get; protected set; } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/CreateUpdateBlogPostDto.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/CreateUpdateBlogPostDto.cs index 71d091bfa4..4c0532129d 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/CreateUpdateBlogPostDto.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/CreateUpdateBlogPostDto.cs @@ -17,9 +17,9 @@ namespace Volo.CmsKit.Admin.Blogs [Required] [DynamicStringLength( typeof(BlogPostConsts), - nameof(BlogPostConsts.MaxUrlSlugLength), - nameof(BlogPostConsts.MinUrlSlugLength))] - public string UrlSlug { get; set; } + nameof(BlogPostConsts.MaxSlugLength), + nameof(BlogPostConsts.MinSlugLength))] + public string Slug { get; set; } [DynamicMaxLength(typeof(BlogPostConsts), nameof(BlogPostConsts.MaxShortDescriptionLength))] public string ShortDescription { get; set; } 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 902f31f025..28d614d289 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 @@ -13,7 +13,7 @@ namespace Volo.CmsKit.Admin.Blogs PagedAndSortedResultRequestDto, CreateUpdateBlogPostDto> { - Task GetByUrlSlugAsync(string blogUrlSlug, string urlSlug); + Task GetBySlugAsync(string blogSlug, string slug); Task SetCoverImageAsync(Guid id, RemoteStreamContent streamContent); 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 cb95d1fe87..8fa6fb9ff7 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 @@ -53,11 +53,11 @@ namespace Volo.CmsKit.Admin.Blogs DeletePolicyName = CmsKitAdminPermissions.BlogPosts.Delete; } - public virtual async Task GetByUrlSlugAsync(string blogUrlSlug, string urlSlug) + public virtual async Task GetBySlugAsync(string blogSlug, string blogPostSlug) { - var blog = await BlogRepository.GetByUrlSlugAsync(blogUrlSlug); + var blog = await BlogRepository.GetBySlugAsync(blogSlug); - var blogPost = await BlogPostRepository.GetByUrlSlugAsync(blog.Id, urlSlug); + var blogPost = await BlogPostRepository.GetBySlugAsync(blog.Id, blogPostSlug); return MapToGetOutputDto(blogPost); } @@ -73,7 +73,7 @@ namespace Volo.CmsKit.Admin.Blogs GuidGenerator.Create(), input.BlogId, input.Title, - input.UrlSlug, + input.Slug, input.ShortDescription)); return MapToGetOutputDto(entity); @@ -86,9 +86,9 @@ namespace Volo.CmsKit.Admin.Blogs blogPost.SetTitle(input.Title); - if (blogPost.UrlSlug != input.UrlSlug) + if (blogPost.Slug != input.Slug) { - await BlogPostManager.SetSlugUrlAsync(blogPost, input.UrlSlug); + await BlogPostManager.SetSlugUrlAsync(blogPost, input.Slug); } MapToEntity(input, blogPost); 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 b4c411f1dc..6c7e78de50 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 @@ -53,11 +53,11 @@ namespace Volo.CmsKit.Admin.Blogs } [HttpGet] - [Route("{blogUrlSlug}/{urlSlug}")] + [Route("{blogSlug}/{blogPostSlug}")] [Authorize(CmsKitAdminPermissions.BlogPosts.Default)] - public virtual Task GetByUrlSlugAsync(string blogUrlSlug, string urlSlug) + public virtual Task GetBySlugAsync(string blogSlug, string blogPostSlug) { - return BlogPostAdminAppService.GetByUrlSlugAsync(blogUrlSlug, urlSlug); + return BlogPostAdminAppService.GetBySlugAsync(blogSlug, blogPostSlug); } [HttpGet] diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Blogs/BlogConsts.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Blogs/BlogConsts.cs index 7d2467226d..def370dca8 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Blogs/BlogConsts.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Blogs/BlogConsts.cs @@ -3,6 +3,6 @@ public class BlogConsts { public static int MaxNameLength { get; set; } = 64; - public static int MaxUrlSlugLength { get; set; } = 64; + public static int MaxSlugLength { get; set; } = 64; } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Blogs/BlogPostConsts.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Blogs/BlogPostConsts.cs index 28ca2d9141..97b67416cf 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Blogs/BlogPostConsts.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Blogs/BlogPostConsts.cs @@ -4,9 +4,9 @@ { public static int MaxTitleLength { get; set; } = 64; - public static int MaxUrlSlugLength { get; set; } = 256; + public static int MaxSlugLength { get; set; } = 256; - public static int MinUrlSlugLength { get; set; } = 2; + public static int MinSlugLength { get; set; } = 2; public static int MaxShortDescriptionLength { get; set; } = 256; diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitErrorCodes.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitErrorCodes.cs index fa31692bfe..da6f2ae1a2 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitErrorCodes.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitErrorCodes.cs @@ -17,7 +17,7 @@ public static class Blogs { - public const string UrlSlugAlreadyExist = "CmsKit:BlogPost:0001"; + public const string SlugAlreadyExist = "CmsKit:BlogPost:0001"; } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/Blog.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/Blog.cs index 75d319b33b..79c496970c 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/Blog.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/Blog.cs @@ -12,17 +12,17 @@ namespace Volo.CmsKit.Blogs public Blog( Guid id, [NotNull] string name, - [NotNull] string urlSlug, + [NotNull] string slug, [CanBeNull] Guid? tenantId = null) : base(id) { SetName(name); - SetUrlSlug(urlSlug); + SetSlug(slug); TenantId = tenantId; } public string Name { get; protected set; } - public string UrlSlug { get; protected set; } + public string Slug { get; protected set; } public Guid? TenantId { get; protected set; } @@ -31,11 +31,11 @@ namespace Volo.CmsKit.Blogs Name = Check.NotNullOrWhiteSpace(name, nameof(name), maxLength: BlogConsts.MaxNameLength); } - public void SetUrlSlug(string urlSlug) + public void SetSlug(string slug) { - Check.NotNullOrWhiteSpace(urlSlug, nameof(urlSlug), maxLength: BlogConsts.MaxNameLength); + Check.NotNullOrWhiteSpace(slug, nameof(slug), maxLength: BlogConsts.MaxNameLength); - UrlSlug = urlSlug.NormalizeAsUrlSlug(); + Slug = slug.NormalizeSlug(); } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/BlogPost.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/BlogPost.cs index 53f44af35d..7a52fe0d9f 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/BlogPost.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/BlogPost.cs @@ -16,7 +16,7 @@ namespace Volo.CmsKit.Blogs public string Title { get; protected set; } - public string UrlSlug { get; protected set; } + public string Slug { get; protected set; } public string ShortDescription { get; protected set; } @@ -30,12 +30,12 @@ namespace Volo.CmsKit.Blogs Guid id, Guid blogId, [NotNull] string title, - [NotNull] string urlSlug, + [NotNull] string slug, [CanBeNull] string shortDescription = null) : base(id) { BlogId = blogId; SetTitle(title); - SetUrlSlug(urlSlug); + SetSlug(slug); ShortDescription = shortDescription; } @@ -44,11 +44,11 @@ namespace Volo.CmsKit.Blogs Title = Check.NotNullOrWhiteSpace(title, nameof(title), BlogPostConsts.MaxTitleLength); } - internal void SetUrlSlug(string urlSlug) + internal void SetSlug(string slug) { - Check.NotNullOrWhiteSpace(urlSlug, nameof(urlSlug), BlogPostConsts.MaxUrlSlugLength, BlogPostConsts.MinUrlSlugLength); + Check.NotNullOrWhiteSpace(slug, nameof(slug), BlogPostConsts.MaxSlugLength, BlogPostConsts.MinSlugLength); - UrlSlug = urlSlug.NormalizeAsUrlSlug(); + Slug = slug.NormalizeSlug(); } public void SetShortDescription(string shortDescription) diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/BlogPostManager.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/BlogPostManager.cs index b28e705191..aed2b9fffd 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/BlogPostManager.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/BlogPostManager.cs @@ -25,7 +25,7 @@ namespace Volo.CmsKit.Blogs { await CheckBlogExistenceAsync(blogPost.BlogId); - await CheckUrlSlugExistenceAsync(blogPost.BlogId, blogPost.UrlSlug); + await CheckSlugExistenceAsync(blogPost.BlogId, blogPost.Slug); return await blogPostRepository.InsertAsync(blogPost); } @@ -39,16 +39,16 @@ namespace Volo.CmsKit.Blogs public async Task SetSlugUrlAsync(BlogPost blogPost, string newSlug) { - await CheckUrlSlugExistenceAsync(blogPost.BlogId, newSlug); + await CheckSlugExistenceAsync(blogPost.BlogId, newSlug); - blogPost.SetUrlSlug(newSlug); + blogPost.SetSlug(newSlug); } - private async Task CheckUrlSlugExistenceAsync(Guid blogId, string urlSlug) + private async Task CheckSlugExistenceAsync(Guid blogId, string slug) { - if (await blogPostRepository.SlugExistsAsync(blogId, urlSlug)) + if (await blogPostRepository.SlugExistsAsync(blogId, slug)) { - throw new BlogPostUrlSlugAlreadyExistException(blogId, urlSlug); + throw new BlogPostSlugAlreadyExistException(blogId, slug); } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/BlogPostSlugAlreadyExistException.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/BlogPostSlugAlreadyExistException.cs new file mode 100644 index 0000000000..8e59249299 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/BlogPostSlugAlreadyExistException.cs @@ -0,0 +1,31 @@ +using System; +using Volo.Abp; + +namespace Volo.CmsKit.Blogs +{ + public class BlogPostSlugAlreadyExistException : BusinessException + { + internal BlogPostSlugAlreadyExistException(string code = null, string message = null, string details = null, Exception innerException = null, Microsoft.Extensions.Logging.LogLevel logLevel = Microsoft.Extensions.Logging.LogLevel.Warning) : base(code, message, details, innerException, logLevel) + { + } + + internal BlogPostSlugAlreadyExistException(System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext context) : base(serializationInfo, context) + { + } + + public BlogPostSlugAlreadyExistException(Guid blogId, string slug) + { + Slug = slug; + BlogId = blogId; + + Code = CmsKitErrorCodes.Blogs.SlugAlreadyExist; + + WithData(nameof(Slug), Slug); + WithData(nameof(BlogId), BlogId); + } + + public string Slug { get; } + + public Guid BlogId { get; } + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/BlogPostUrlSlugAlreadyExistException.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/BlogPostUrlSlugAlreadyExistException.cs deleted file mode 100644 index b000f5996d..0000000000 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/BlogPostUrlSlugAlreadyExistException.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; -using Volo.Abp; - -namespace Volo.CmsKit.Blogs -{ - public class BlogPostUrlSlugAlreadyExistException : BusinessException - { - internal BlogPostUrlSlugAlreadyExistException(string code = null, string message = null, string details = null, Exception innerException = null, Microsoft.Extensions.Logging.LogLevel logLevel = Microsoft.Extensions.Logging.LogLevel.Warning) : base(code, message, details, innerException, logLevel) - { - } - - internal BlogPostUrlSlugAlreadyExistException(System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext context) : base(serializationInfo, context) - { - } - - public BlogPostUrlSlugAlreadyExistException(Guid blogId, string urlSlug) - { - UrlSlug = urlSlug; - BlogId = blogId; - - Code = CmsKitErrorCodes.Blogs.UrlSlugAlreadyExist; - - WithData(nameof(UrlSlug), UrlSlug); - WithData(nameof(BlogId), BlogId); - } - - public string UrlSlug { get; } - - public Guid BlogId { get; } - } -} diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/Extensions/UrlSlugExtensions.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/Extensions/SlugExtensions.cs similarity index 53% rename from modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/Extensions/UrlSlugExtensions.cs rename to modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/Extensions/SlugExtensions.cs index 991ae7eaac..15d3017ffc 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/Extensions/UrlSlugExtensions.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/Extensions/SlugExtensions.cs @@ -1,12 +1,10 @@ using Slugify; -using System.Text.RegularExpressions; -using Unidecode.NET; namespace Volo.CmsKit.Blogs.Extensions { - public static class UrlSlugExtensions + public static class SlugExtensions { - public static string NormalizeAsUrlSlug(this string value) + public static string NormalizeSlug(this string value) { var slugHelper = new SlugHelper(); diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/IBlogPostRepository.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/IBlogPostRepository.cs index c3cf64b44c..3b87fb6522 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/IBlogPostRepository.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/IBlogPostRepository.cs @@ -12,7 +12,7 @@ namespace Volo.CmsKit.Blogs { Task SlugExistsAsync(Guid blogId, string slug, CancellationToken cancellationToken = default); - Task GetByUrlSlugAsync(Guid blogId, string urlSlug, CancellationToken cancellationToken = default); + Task GetBySlugAsync(Guid blogId, string Slug, CancellationToken cancellationToken = default); Task> GetPagedListAsync(Guid blogId, int skipCount, int maxResultCount, string sorting, bool includeDetails = false, CancellationToken cancellationToken = default); diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/IBlogRepository.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/IBlogRepository.cs index bbff825189..4213884057 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/IBlogRepository.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/IBlogRepository.cs @@ -6,7 +6,7 @@ namespace Volo.CmsKit.Blogs { public interface IBlogRepository : IBasicRepository { - public Task GetByUrlSlugAsync(string urlSlug); + public Task GetBySlugAsync(string slug); Task ExistsAsync(Guid blogId); } } diff --git a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Blogs/EfCoreBlogPostRepository.cs b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Blogs/EfCoreBlogPostRepository.cs index df2893dd1e..5a9c5d526a 100644 --- a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Blogs/EfCoreBlogPostRepository.cs +++ b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Blogs/EfCoreBlogPostRepository.cs @@ -20,14 +20,14 @@ namespace Volo.CmsKit.Blogs { } - public async Task GetByUrlSlugAsync(Guid blogId, string urlSlug, CancellationToken cancellationToken = default) + public async Task GetBySlugAsync(Guid blogId, string slug, CancellationToken cancellationToken = default) { var dbSet = await GetDbSetAsync(); return await dbSet .Include(i=> i.Creator) .Where(x => - x.BlogId == blogId && x.UrlSlug.ToLower() == urlSlug) + x.BlogId == blogId && x.Slug.ToLower() == slug) .FirstOrDefaultAsync(cancellationToken: cancellationToken) ?? throw new EntityNotFoundException(typeof(BlogPost)); } @@ -60,7 +60,7 @@ namespace Volo.CmsKit.Blogs { var dbSet = await GetDbSetAsync(); - return await dbSet.AnyAsync(x => x.BlogId == blogId && x.UrlSlug.ToLower() == slug, cancellationToken); + return await dbSet.AnyAsync(x => x.BlogId == blogId && x.Slug.ToLower() == slug, cancellationToken); } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Blogs/EfCoreBlogRepository.cs b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Blogs/EfCoreBlogRepository.cs index 677857d2b6..d2ddbf35aa 100644 --- a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Blogs/EfCoreBlogRepository.cs +++ b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Blogs/EfCoreBlogRepository.cs @@ -19,9 +19,9 @@ namespace Volo.CmsKit.Blogs return await (await GetQueryableAsync()).AnyAsync(x => x.Id == blogId); } - public Task GetByUrlSlugAsync(string urlSlug) + public Task GetBySlugAsync(string slug) { - return GetAsync(x => x.UrlSlug == urlSlug); + return GetAsync(x => x.Slug == slug); } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/EntityFrameworkCore/CmsKitDbContextModelCreatingExtensions.cs b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/EntityFrameworkCore/CmsKitDbContextModelCreatingExtensions.cs index 57d1f5511c..d3f40afeed 100644 --- a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/EntityFrameworkCore/CmsKitDbContextModelCreatingExtensions.cs +++ b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/EntityFrameworkCore/CmsKitDbContextModelCreatingExtensions.cs @@ -198,7 +198,7 @@ namespace Volo.CmsKit.EntityFrameworkCore b.Property(p => p.Name).IsRequired().HasMaxLength(BlogConsts.MaxNameLength); - b.Property(p => p.UrlSlug).IsRequired().HasMaxLength(BlogConsts.MaxUrlSlugLength); + b.Property(p => p.Slug).IsRequired().HasMaxLength(BlogConsts.MaxSlugLength); }); builder.Entity(b => @@ -209,11 +209,11 @@ namespace Volo.CmsKit.EntityFrameworkCore b.Property(p => p.Title).IsRequired().HasMaxLength(BlogPostConsts.MaxTitleLength); - b.Property(p => p.UrlSlug).IsRequired().HasMaxLength(BlogPostConsts.MaxUrlSlugLength); + b.Property(p => p.Slug).IsRequired().HasMaxLength(BlogPostConsts.MaxSlugLength); b.Property(p => p.ShortDescription).HasMaxLength(BlogPostConsts.MaxShortDescriptionLength); - b.HasIndex(x => new { x.UrlSlug, x.BlogId }); + b.HasIndex(x => new { x.Slug, x.BlogId }); }); } else diff --git a/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Blogs/MongoBlogPostRepository.cs b/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Blogs/MongoBlogPostRepository.cs index 5c20165d11..85dc1b86e0 100644 --- a/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Blogs/MongoBlogPostRepository.cs +++ b/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Blogs/MongoBlogPostRepository.cs @@ -20,11 +20,11 @@ namespace Volo.CmsKit.MongoDB.Blogs { } - public Task GetByUrlSlugAsync(Guid blogId, string urlSlug, CancellationToken cancellationToken = default) + public Task GetBySlugAsync(Guid blogId, string slug, CancellationToken cancellationToken = default) { return GetAsync(x => x.BlogId == blogId && - x.UrlSlug.ToLower() == urlSlug, + x.Slug.ToLower() == slug, includeDetails: true, cancellationToken: cancellationToken); } @@ -61,7 +61,7 @@ namespace Volo.CmsKit.MongoDB.Blogs { var queryable = await GetMongoQueryableAsync(); - return await queryable.AnyAsync(x => x.BlogId == blogId && x.UrlSlug.ToLower() == slug, cancellationToken); + return await queryable.AnyAsync(x => x.BlogId == blogId && x.Slug.ToLower() == slug, cancellationToken); } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Blogs/MongoBlogRepository.cs b/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Blogs/MongoBlogRepository.cs index b1d9d3167b..d733f82bf6 100644 --- a/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Blogs/MongoBlogRepository.cs +++ b/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Blogs/MongoBlogRepository.cs @@ -20,9 +20,9 @@ namespace Volo.CmsKit.MongoDB.Blogs x => x.Id == blogId); } - public Task GetByUrlSlugAsync(string urlSlug) + public Task GetBySlugAsync(string slug) { - return GetAsync(x => x.UrlSlug == urlSlug); + return GetAsync(x => x.Slug == slug); } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Blogs/BlogPostPublicDto.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Blogs/BlogPostPublicDto.cs index 94d3f3fdbc..5cbbda938e 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Blogs/BlogPostPublicDto.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Blogs/BlogPostPublicDto.cs @@ -10,7 +10,7 @@ namespace Volo.CmsKit.Public.Blogs public string Title { get; set; } - public string UrlSlug { get; set; } + public string Slug { get; set; } public string ShortDescription { get; set; } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Blogs/IBlogPostPublicAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Blogs/IBlogPostPublicAppService.cs index e6c5af3376..0c9079ee7e 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Blogs/IBlogPostPublicAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Blogs/IBlogPostPublicAppService.cs @@ -8,9 +8,9 @@ namespace Volo.CmsKit.Public.Blogs { public interface IBlogPostPublicAppService { - Task> GetListAsync(string blogUrlSlug, PagedAndSortedResultRequestDto input); + Task> GetListAsync(string blogSlug, PagedAndSortedResultRequestDto input); - Task GetAsync(string blogUrlSlug, string blogPostUrlSlug); + Task GetAsync(string blogSlug, string blogPostSlug); Task GetCoverImageAsync(Guid id); } diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Blogs/BlogPostPublicAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Blogs/BlogPostPublicAppService.cs index 497aad76c3..3994720d73 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Blogs/BlogPostPublicAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Blogs/BlogPostPublicAppService.cs @@ -26,18 +26,18 @@ namespace Volo.CmsKit.Public.Blogs BlobContainer = blobContainer; } - public async Task GetAsync(string blogUrlSlug, string blogPostUrlSlug) + public async Task GetAsync(string blogSlug, string blogPostSlug) { - var blog = await BlogRepository.GetByUrlSlugAsync(blogUrlSlug); + var blog = await BlogRepository.GetBySlugAsync(blogSlug); - var blogPost = await BlogPostRepository.GetByUrlSlugAsync(blog.Id, blogPostUrlSlug); + var blogPost = await BlogPostRepository.GetBySlugAsync(blog.Id, blogPostSlug); return ObjectMapper.Map(blogPost); } - public async Task> GetListAsync(string blogUrlSlug, PagedAndSortedResultRequestDto input) + public async Task> GetListAsync(string blogSlug, PagedAndSortedResultRequestDto input) { - var blog = await BlogRepository.GetByUrlSlugAsync(blogUrlSlug); + var blog = await BlogRepository.GetBySlugAsync(blogSlug); var blogPosts = await BlogPostRepository.GetPagedListAsync(blog.Id, input.SkipCount, input.MaxResultCount, input.Sorting); diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/Blogs/BlogPostPublicController.cs b/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/Blogs/BlogPostPublicController.cs index 091efcf183..4e14ca31ec 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/Blogs/BlogPostPublicController.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/Blogs/BlogPostPublicController.cs @@ -27,9 +27,9 @@ namespace Volo.CmsKit.Public.Blogs } [HttpGet] - public Task GetAsync(string blogUrlSlug, string blogPostUrlSlug) + public Task GetAsync(string blogSlug, string blogPostSlug) { - return BlogPostPublicAppService.GetAsync(blogUrlSlug, blogPostUrlSlug); + return BlogPostPublicAppService.GetAsync(blogSlug, blogPostSlug); } [HttpGet] @@ -45,9 +45,9 @@ namespace Volo.CmsKit.Public.Blogs } [HttpGet] - public Task> GetListAsync(string blogUrlSlug, PagedAndSortedResultRequestDto input) + public Task> GetListAsync(string blogSlug, PagedAndSortedResultRequestDto input) { - return BlogPostPublicAppService.GetListAsync(blogUrlSlug, input); + return BlogPostPublicAppService.GetListAsync(blogSlug, input); } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Blogs/BlogPost.cshtml b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Blogs/BlogPost.cshtml index e03bf06991..51472ce7c1 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Blogs/BlogPost.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Blogs/BlogPost.cshtml @@ -1,4 +1,4 @@ -@page "/blogs/{blogUrlSlug}/{blogPostUrlSlug}" +@page "/blogs/{blogSlug}/{blogPostSlug}" @using Volo.CmsKit.Public.Web.Pages.CmsKit.Shared.Components.Blogs.BlogPost @using Volo.CmsKit.Public.Web.Pages.CmsKit.Shared.Components.Blogs.BlogPostComment @@ -20,8 +20,8 @@ @await Component.InvokeAsync(typeof(DefaultBlogPostViewComponent), new { - Model.BlogUrlSlug, - Model.BlogPostUrlSlug + Model.BlogSlug, + Model.BlogPostSlug }) @if (GlobalFeatureManager.Instance.IsEnabled()) diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Blogs/BlogPost.cshtml.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Blogs/BlogPost.cshtml.cs index 4a63ec1692..a3f31bb9a2 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Blogs/BlogPost.cshtml.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Blogs/BlogPost.cshtml.cs @@ -11,10 +11,10 @@ namespace Volo.CmsKit.Public.Web.Pages.CmsKit.Blogs public class BlogPostModel : CmsKitPublicPageModelBase { [BindProperty(SupportsGet = true)] - public string BlogUrlSlug { get; set; } + public string BlogSlug { get; set; } [BindProperty(SupportsGet = true)] - public string BlogPostUrlSlug { get; set; } + public string BlogPostSlug { get; set; } public BlogPostPublicDto BlogPost { get; private set; } @@ -27,7 +27,7 @@ namespace Volo.CmsKit.Public.Web.Pages.CmsKit.Blogs public async Task OnGetAsync() { - BlogPost = await BlogPostPublicAppService.GetAsync(BlogUrlSlug, BlogPostUrlSlug); + BlogPost = await BlogPostPublicAppService.GetAsync(BlogSlug, BlogPostSlug); } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Blogs/Index.cshtml b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Blogs/Index.cshtml index 998bfa2881..066e4dd7c2 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Blogs/Index.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Blogs/Index.cshtml @@ -1,4 +1,4 @@ -@page "/blogs/{blogUrlSlug}" +@page "/blogs/{blogSlug}" @using Volo.CmsKit.Public.Web.Pages @@ -25,7 +25,7 @@ @blog.ShortDescription - + diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Blogs/Index.cshtml.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Blogs/Index.cshtml.cs index d375efef61..9f44d9beaa 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Blogs/Index.cshtml.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Blogs/Index.cshtml.cs @@ -15,7 +15,7 @@ namespace Volo.CmsKit.Public.Web.Pages.CmsKit.Blogs public const int PageSize = 12; [BindProperty(SupportsGet = true)] - public string BlogUrlSlug { get; set; } + public string BlogSlug { get; set; } [BindProperty(SupportsGet = true)] public int CurrentPage { get; set; } = 1; @@ -34,7 +34,7 @@ namespace Volo.CmsKit.Public.Web.Pages.CmsKit.Blogs public async Task OnGetAsync() { Blogs = await BlogPostPublicAppService.GetListAsync( - BlogUrlSlug, + BlogSlug, new PagedAndSortedResultRequestDto { SkipCount = PageSize * (CurrentPage - 1), diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Blogs/BlogPost/DefaultBlogPostViewComponent.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Blogs/BlogPost/DefaultBlogPostViewComponent.cs index 4a055d6679..90dc2a6ab0 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Blogs/BlogPost/DefaultBlogPostViewComponent.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Blogs/BlogPost/DefaultBlogPostViewComponent.cs @@ -19,9 +19,9 @@ namespace Volo.CmsKit.Public.Web.Pages.CmsKit.Shared.Components.Blogs.BlogPost BlogPostPublicAppService = blogPostPublicAppService; } - public virtual async Task InvokeAsync(string blogUrlSlug, string blogPostUrlSlug) + public virtual async Task InvokeAsync(string blogSlug, string blogPostSlug) { - var blogPost = await BlogPostPublicAppService.GetAsync(blogUrlSlug, blogPostUrlSlug); + var blogPost = await BlogPostPublicAppService.GetAsync(blogSlug, blogPostSlug); return View("~/Pages/CmsKit/Shared/Components/Blogs/BlogPost/Default.cshtml", blogPost); } 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 71bb043ce8..efef70cb9b 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 @@ -28,14 +28,14 @@ namespace Volo.CmsKit.Blogs public async Task CreateAsync_ShouldWorkProperly_WithCorrectData() { var title = "My awesome new Post"; - var urlSlug = "my-awesome-new-post"; + var slug = "my-awesome-new-post"; var shortDescription = "This blog is all about awesomeness 🤗!"; var created = await blogPostAdminAppService.CreateAsync(new CreateUpdateBlogPostDto { BlogId = cmsKitTestData.Blog_Id, Title = title, - UrlSlug = urlSlug, + Slug = slug, ShortDescription = shortDescription }); @@ -44,7 +44,7 @@ namespace Volo.CmsKit.Blogs var blogPost = await blogPostRepository.GetAsync(created.Id); blogPost.Title.ShouldBe(title); - blogPost.UrlSlug.ShouldBe(urlSlug); + blogPost.Slug.ShouldBe(slug); blogPost.ShortDescription.ShouldBe(shortDescription); } @@ -52,7 +52,7 @@ namespace Volo.CmsKit.Blogs public async Task CreateAsync_ShouldThrowException_WithNonExistingBlogId() { var title = "Another My Awesome New Post"; - var urlSlug = "another-my-awesome-new-post"; + var slug = "another-my-awesome-new-post"; var shortDescription = "This blog is all about awesomeness 🤗!"; var dto = new CreateUpdateBlogPostDto @@ -60,7 +60,7 @@ namespace Volo.CmsKit.Blogs // Non-existing Id BlogId = Guid.NewGuid(), Title = title, - UrlSlug = urlSlug, + Slug = slug, ShortDescription = shortDescription }; @@ -76,7 +76,7 @@ namespace Volo.CmsKit.Blogs var blogPost = await blogPostAdminAppService.GetAsync(cmsKitTestData.BlogPost_1_Id); blogPost.Title.ShouldBe(cmsKitTestData.BlogPost_1_Title); - blogPost.UrlSlug.ShouldBe(cmsKitTestData.BlogPost_1_UrlSlug); + blogPost.Slug.ShouldBe(cmsKitTestData.BlogPost_1_Slug); } [Fact] @@ -91,30 +91,30 @@ namespace Volo.CmsKit.Blogs } [Fact] - public async Task GetByUrlSlugAsync_ShouldWorkProperly_WithExistingUrlSlug() + public async Task GetBySlugAsync_ShouldWorkProperly_WithExistingSlug() { - var blogPost = await blogPostAdminAppService.GetByUrlSlugAsync(cmsKitTestData.BlogUrlSlug, cmsKitTestData.BlogPost_1_UrlSlug); + 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 GetByUrlSlugAsync_ShouldThrowException_WithNonExistingBlogPostUrlSlug() + public async Task GetBySlugAsync_ShouldThrowException_WithNonExistingBlogPostSlug() { - var nonExistingUrlSlug = "any-other-url"; + var nonExistingSlug = "any-other-url"; var exception = await Should.ThrowAsync(async () => - await blogPostAdminAppService.GetByUrlSlugAsync(cmsKitTestData.BlogUrlSlug, nonExistingUrlSlug)); + await blogPostAdminAppService.GetBySlugAsync(cmsKitTestData.BlogSlug, nonExistingSlug)); exception.EntityType.ShouldBe(typeof(BlogPost)); } [Fact] - public async Task GetByUrlSlugAsync_ShouldThrowException_WithNonExistingBlogUrlSlug() + public async Task GetBySlugAsync_ShouldThrowException_WithNonExistingBlogSlug() { - var nonExistingUrlSlug = "any-other-url"; + var nonExistingSlug = "any-other-url"; var exception = await Should.ThrowAsync(async () => - await blogPostAdminAppService.GetByUrlSlugAsync(nonExistingUrlSlug, cmsKitTestData.Page_1_Url)); + await blogPostAdminAppService.GetBySlugAsync(nonExistingSlug, cmsKitTestData.Page_1_Url)); exception.EntityType.ShouldBe(typeof(Blog)); } @@ -135,21 +135,21 @@ namespace Volo.CmsKit.Blogs { var shortDescription = "Another short description"; var title = "[Solved] Another Blog Post"; - var urlSlug = "another-short-blog-post"; + var slug = "another-short-blog-post"; await blogPostAdminAppService.UpdateAsync(cmsKitTestData.BlogPost_2_Id, new CreateUpdateBlogPostDto { BlogId = cmsKitTestData.Blog_Id, ShortDescription = shortDescription, Title = title, - UrlSlug = urlSlug, + Slug = slug, }); var blogPost = await blogPostRepository.GetAsync(cmsKitTestData.BlogPost_2_Id); blogPost.Title.ShouldBe(title); blogPost.ShortDescription.ShouldBe(shortDescription); - blogPost.UrlSlug.ShouldBe(urlSlug); + blogPost.Slug.ShouldBe(slug); } [Fact] @@ -161,7 +161,7 @@ namespace Volo.CmsKit.Blogs { BlogId = nonExistingId, Title = cmsKitTestData.Page_2_Title, - UrlSlug = cmsKitTestData.BlogPost_2_UrlSlug + Slug = cmsKitTestData.BlogPost_2_Slug }; var exception = await Should.ThrowAsync(async () => @@ -178,13 +178,13 @@ namespace Volo.CmsKit.Blogs { BlogId = cmsKitTestData.Blog_Id, Title = "Some new title", - UrlSlug = cmsKitTestData.BlogPost_1_UrlSlug + Slug = cmsKitTestData.BlogPost_1_Slug }; - var exception = await Should.ThrowAsync(async () => + var exception = await Should.ThrowAsync(async () => await blogPostAdminAppService.UpdateAsync(cmsKitTestData.BlogPost_2_Id, dto)); - exception.UrlSlug.ShouldBe(cmsKitTestData.BlogPost_1_UrlSlug); + exception.Slug.ShouldBe(cmsKitTestData.BlogPost_1_Slug); } [Fact] diff --git a/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Blogs/BlogPostManager_Tests.cs b/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Blogs/BlogPostManager_Tests.cs index 84eddeec3c..2da60c8bff 100644 --- a/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Blogs/BlogPostManager_Tests.cs +++ b/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Blogs/BlogPostManager_Tests.cs @@ -29,24 +29,24 @@ namespace Volo.CmsKit.Blogs public async Task CreateAsync_ShouldWorkProperly_WithCorrectData() { var title = "New blog post"; - var urlSlug = "new-blog-post"; + var slug = "new-blog-post"; var created = await blogPostManager.CreateAsync( - new BlogPost(guidGenerator.Create(), cmsKitTestData.Blog_Id, title, urlSlug)); + new BlogPost(guidGenerator.Create(), cmsKitTestData.Blog_Id, title, slug)); created.Id.ShouldNotBe(Guid.Empty); var blogPost = await blogPostRepository.GetAsync(created.Id); blogPost.Title.ShouldBe(title); - blogPost.UrlSlug.ShouldBe(urlSlug); + blogPost.Slug.ShouldBe(slug); } [Fact] - public async Task CreateAsync_ShouldThrowException_WhenUrlSlugAlreadyExists() + public async Task CreateAsync_ShouldThrowException_WhenSlugAlreadyExists() { - var blogPost = new BlogPost(guidGenerator.Create(), cmsKitTestData.Blog_Id, "Any New Title", cmsKitTestData.BlogPost_1_UrlSlug); + var blogPost = new BlogPost(guidGenerator.Create(), cmsKitTestData.Blog_Id, "Any New Title", cmsKitTestData.BlogPost_1_Slug); - await Should.ThrowAsync(async () => + await Should.ThrowAsync(async () => await blogPostManager.CreateAsync(blogPost)); } @@ -66,27 +66,27 @@ namespace Volo.CmsKit.Blogs } [Fact] - public async Task SetUrlSlugAsync_ShouldWorkProperly_WithNonExistingSlug() + public async Task SetSlugAsync_ShouldWorkProperly_WithNonExistingSlug() { - var newUrlSlug = "yet-another-post"; + var newSlug = "yet-another-post"; var blogPost = await blogPostRepository.GetAsync(cmsKitTestData.BlogPost_1_Id); - await blogPostManager.SetSlugUrlAsync(blogPost, newUrlSlug); + await blogPostManager.SetSlugUrlAsync(blogPost, newSlug); - blogPost.UrlSlug.ShouldBe(newUrlSlug); + blogPost.Slug.ShouldBe(newSlug); } [Fact] - public async Task SetUrlSlugAsync_ShouldThrowException_WithExistingSlug() + public async Task SetSlugAsync_ShouldThrowException_WithExistingSlug() { var blogPost = await blogPostRepository.GetAsync(cmsKitTestData.BlogPost_1_Id); - var exception = await Should.ThrowAsync(async () => - await blogPostManager.SetSlugUrlAsync(blogPost, cmsKitTestData.BlogPost_2_UrlSlug)); + var exception = await Should.ThrowAsync(async () => + await blogPostManager.SetSlugUrlAsync(blogPost, cmsKitTestData.BlogPost_2_Slug)); exception.BlogId.ShouldBe(blogPost.BlogId); - exception.UrlSlug.ShouldBe(cmsKitTestData.BlogPost_2_UrlSlug); + exception.Slug.ShouldBe(cmsKitTestData.BlogPost_2_Slug); } } } diff --git a/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Blogs/UrlSlugExtensions_Tests.cs b/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Blogs/SlugExtensions_Tests.cs similarity index 67% rename from modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Blogs/UrlSlugExtensions_Tests.cs rename to modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Blogs/SlugExtensions_Tests.cs index 0c32ab3285..725d693148 100644 --- a/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Blogs/UrlSlugExtensions_Tests.cs +++ b/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Blogs/SlugExtensions_Tests.cs @@ -9,128 +9,128 @@ using Shouldly; namespace Volo.CmsKit.Blogs { - public class UrlSlugExtensions_Tests + public class SlugExtensions_Tests { [Fact] - public void NormalizeAsUrlSlug_ShouldWorkProperly() + public void NormalizeSlug_ShouldWorkProperly() { // Arrange var name = "My awesome name"; var expected = "my-awesome-name"; // Act - var actual = name.NormalizeAsUrlSlug(); + var actual = name.NormalizeSlug(); // Assert actual.ShouldBe(expected); } [Fact] - public void NormalizeAsUrlSlug_ShouldWorkProperly_WithDot() + public void NormalizeSlug_ShouldWorkProperly_WithDot() { // Arrange var name = "My Perfect Title v.2"; var expected = "my-perfect-title-v2"; // Act - var actual = name.NormalizeAsUrlSlug(); + var actual = name.NormalizeSlug(); // Assert actual.ShouldBe(expected); } [Fact] - public void NormalizeAsUrlSlug_ShouldWorkProperly_WithQuestionMark() + public void NormalizeSlug_ShouldWorkProperly_WithQuestionMark() { // Arrange var name = "Are you gonna die?"; var expected = "are-you-gonna-die"; // Act - var actual = name.NormalizeAsUrlSlug(); + var actual = name.NormalizeSlug(); // Assert actual.ShouldBe(expected); } [Fact] - public void NormalizeAsUrlSlug_ShouldWorkProperly_WithAmpersand() + public void NormalizeSlug_ShouldWorkProperly_WithAmpersand() { // Arrange var name = "We & Machines Challenge"; var expected = "we-machines-challenge"; // Act - var actual = name.NormalizeAsUrlSlug(); + var actual = name.NormalizeSlug(); // Assert actual.ShouldBe(expected); } [Fact] - public void NormalizeAsUrlSlug_ShouldWorkProperly_WithDoubleDash() + public void NormalizeSlug_ShouldWorkProperly_WithDoubleDash() { // Arrange var name = "Go and Code --part 2"; var expected = "go-and-code-part-2"; // Act - var actual = name.NormalizeAsUrlSlug(); + var actual = name.NormalizeSlug(); // Assert actual.ShouldBe(expected); } [Fact] - public void NormalizeAsUrlSlug_ShouldWorkProperly_WithCyrillicChars() + public void NormalizeSlug_ShouldWorkProperly_WithCyrillicChars() { // Arrange var name = "Мое классное название"; var expected = "moe-klassnoe-nazvanie"; // Act - var actual = name.NormalizeAsUrlSlug(); + var actual = name.NormalizeSlug(); // Assert actual.ShouldBe(expected); } [Fact] - public void NormalizeAsUrlSlug_ShouldWorkProperly_WithTurkishChars() + public void NormalizeSlug_ShouldWorkProperly_WithTurkishChars() { // Arrange var name = "Özel Türkçe karakterler: ğüşiöç"; var expected = "ozel-turkce-karakterler-gusioc"; // Act - var actual = name.NormalizeAsUrlSlug(); + var actual = name.NormalizeSlug(); // Assert actual.ShouldBe(expected); } [Fact] - public void NormalizeAsUrlSlug_ShouldWorkProperly_WithChineseChars() + public void NormalizeSlug_ShouldWorkProperly_WithChineseChars() { // Arrange var name = "我的挑战"; var expected = "o-e-iao-han"; // Act - var actual = name.NormalizeAsUrlSlug(); + var actual = name.NormalizeSlug(); // Assert actual.ShouldBe(expected); } [Fact] - public void NormalizeAsUrlSlug_ShouldWorkProperly_WithEmoji() + public void NormalizeSlug_ShouldWorkProperly_WithEmoji() { // Arrange var name = "Let's Rock 👊"; var expected = "lets-rock"; // Act - var actual = name.NormalizeAsUrlSlug(); + var actual = name.NormalizeSlug(); // Assert actual.ShouldBe(expected); diff --git a/modules/cms-kit/test/Volo.CmsKit.TestBase/Blogs/BlogPostRepository_Test.cs b/modules/cms-kit/test/Volo.CmsKit.TestBase/Blogs/BlogPostRepository_Test.cs index efd07101cb..1b44e3c5b6 100644 --- a/modules/cms-kit/test/Volo.CmsKit.TestBase/Blogs/BlogPostRepository_Test.cs +++ b/modules/cms-kit/test/Volo.CmsKit.TestBase/Blogs/BlogPostRepository_Test.cs @@ -23,15 +23,15 @@ namespace Volo.CmsKit.Blogs } [Fact] - public async Task SlugExistsAsync_ShouldReturnTrue_WithExistingUrlSlug() + public async Task SlugExistsAsync_ShouldReturnTrue_WithExistingSlug() { - var result = await blogPostRepository.SlugExistsAsync(testData.Blog_Id, testData.BlogPost_1_UrlSlug); + var result = await blogPostRepository.SlugExistsAsync(testData.Blog_Id, testData.BlogPost_1_Slug); result.ShouldBeTrue(); } [Fact] - public async Task SlugExistsAsync_ShouldReturnFalse_WithNonExistingUrlSlug() + public async Task SlugExistsAsync_ShouldReturnFalse_WithNonExistingSlug() { var nonExistingSlug = "any-other-url-slug"; @@ -45,38 +45,38 @@ namespace Volo.CmsKit.Blogs { var nonExistingBlogId = Guid.NewGuid(); - var result = await blogPostRepository.SlugExistsAsync(nonExistingBlogId, testData.BlogPost_1_UrlSlug); + var result = await blogPostRepository.SlugExistsAsync(nonExistingBlogId, testData.BlogPost_1_Slug); result.ShouldBeFalse(); } [Fact] - public async Task GetByUrlSlugAsync_ShouldWorkProperly_WithCorrectParameters() + public async Task GetBySlugAsync_ShouldWorkProperly_WithCorrectParameters() { - var blogPost = await blogPostRepository.GetByUrlSlugAsync(testData.Blog_Id, testData.BlogPost_1_UrlSlug); + var blogPost = await blogPostRepository.GetBySlugAsync(testData.Blog_Id, testData.BlogPost_1_Slug); blogPost.ShouldNotBeNull(); blogPost.Id.ShouldBe(testData.BlogPost_1_Id); - blogPost.UrlSlug.ShouldBe(testData.BlogPost_1_UrlSlug); + blogPost.Slug.ShouldBe(testData.BlogPost_1_Slug); } [Fact] - public async Task GetByUrlSlugAsync_ShouldThrowException_WithNonExistingBlogPostUrlSlug() + public async Task GetBySlugAsync_ShouldThrowException_WithNonExistingBlogPostSlug() { var nonExistingSlugUrl = "absolutely-non-existing-url"; var exception = await Should.ThrowAsync( - async () => await blogPostRepository.GetByUrlSlugAsync(testData.Blog_Id, nonExistingSlugUrl)); + async () => await blogPostRepository.GetBySlugAsync(testData.Blog_Id, nonExistingSlugUrl)); exception.ShouldNotBeNull(); exception.EntityType.ShouldBe(typeof(BlogPost)); } [Fact] - public async Task GetByUrlSlugAsync_ShouldThrowException_WithNonExistingBlogId() + public async Task GetBySlugAsync_ShouldThrowException_WithNonExistingBlogId() { var nonExistingBlogId = Guid.NewGuid(); var exception = await Should.ThrowAsync( - async () => await blogPostRepository.GetByUrlSlugAsync(nonExistingBlogId, testData.BlogPost_1_UrlSlug)); + async () => await blogPostRepository.GetBySlugAsync(nonExistingBlogId, testData.BlogPost_1_Slug)); exception.ShouldNotBeNull(); exception.EntityType.ShouldBe(typeof(BlogPost)); diff --git a/modules/cms-kit/test/Volo.CmsKit.TestBase/Blogs/BlogRepository_Test.cs b/modules/cms-kit/test/Volo.CmsKit.TestBase/Blogs/BlogRepository_Test.cs index 5119dfd75b..50a99519eb 100644 --- a/modules/cms-kit/test/Volo.CmsKit.TestBase/Blogs/BlogRepository_Test.cs +++ b/modules/cms-kit/test/Volo.CmsKit.TestBase/Blogs/BlogRepository_Test.cs @@ -23,22 +23,22 @@ namespace Volo.CmsKit.Blogs } [Fact] - public async Task GetByUrlSlugAsync_ShouldWorkProperly_WithExistingSlug() + public async Task GetBySlugAsync_ShouldWorkProperly_WithExistingSlug() { - var blog = await blogRepository.GetByUrlSlugAsync(testData.BlogUrlSlug); + var blog = await blogRepository.GetBySlugAsync(testData.BlogSlug); blog.ShouldNotBeNull(); - blog.UrlSlug.ShouldBe(testData.BlogUrlSlug); + blog.Slug.ShouldBe(testData.BlogSlug); blog.Id.ShouldBe(testData.Blog_Id); } [Fact] - public async Task GetByUrlSlugAsync_ShouldThrowException_WithNonExistingSlug() + public async Task GetBySlugAsync_ShouldThrowException_WithNonExistingSlug() { var nonExistingSlug = "some-blog-slug-that-doesnt-exist"; var exception = await Should.ThrowAsync( - async () => await blogRepository.GetByUrlSlugAsync(nonExistingSlug)); + async () => await blogRepository.GetBySlugAsync(nonExistingSlug)); exception.ShouldNotBeNull(); exception.EntityType.ShouldBe(typeof(Blog)); diff --git a/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs b/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs index 9b1f820c23..2ac4a23171 100644 --- a/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs +++ b/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs @@ -308,11 +308,11 @@ namespace Volo.CmsKit private async Task SeedBlogsAsync() { - var blog = await _blogRepository.InsertAsync(new Blog(_cmsKitTestData.Blog_Id, _cmsKitTestData.BlogName, _cmsKitTestData.BlogUrlSlug)); + var blog = await _blogRepository.InsertAsync(new Blog(_cmsKitTestData.Blog_Id, _cmsKitTestData.BlogName, _cmsKitTestData.BlogSlug)); - await _blogPostRepository.InsertAsync(new BlogPost(_cmsKitTestData.BlogPost_1_Id, blog.Id, _cmsKitTestData.BlogPost_1_Title, _cmsKitTestData.BlogPost_1_UrlSlug, "Short desc 1")); + await _blogPostRepository.InsertAsync(new BlogPost(_cmsKitTestData.BlogPost_1_Id, blog.Id, _cmsKitTestData.BlogPost_1_Title, _cmsKitTestData.BlogPost_1_Slug, "Short desc 1")); - await _blogPostRepository.InsertAsync(new BlogPost(_cmsKitTestData.BlogPost_2_Id, blog.Id, _cmsKitTestData.BlogPost_2_Title, _cmsKitTestData.BlogPost_2_UrlSlug, "Short desc 2")); + await _blogPostRepository.InsertAsync(new BlogPost(_cmsKitTestData.BlogPost_2_Id, blog.Id, _cmsKitTestData.BlogPost_2_Title, _cmsKitTestData.BlogPost_2_Slug, "Short desc 2")); } } } diff --git a/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitTestData.cs b/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitTestData.cs index a212d8505d..2d6bf30da6 100644 --- a/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitTestData.cs +++ b/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitTestData.cs @@ -77,18 +77,18 @@ namespace Volo.CmsKit public string BlogName => "Cms Blog"; - public string BlogUrlSlug => "cms-blog"; + public string BlogSlug => "cms-blog"; public Guid BlogPost_1_Id { get; } = Guid.NewGuid(); public string BlogPost_1_Title => "How to install CmsKit?"; - public string BlogPost_1_UrlSlug => "how-to-install-cms-kit"; + public string BlogPost_1_Slug => "how-to-install-cms-kit"; public Guid BlogPost_2_Id { get; } = Guid.NewGuid(); public string BlogPost_2_Title => "How to use CmsKit"; - public string BlogPost_2_UrlSlug => "how-to-use-cms-kit"; + public string BlogPost_2_Slug => "how-to-use-cms-kit"; } }