Browse Source

Merge branch 'dev' into cms-kit/content-admin

pull/6926/head
enisn 6 years ago
parent
commit
715687f133
  1. 5
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/TagCreateDto.cs
  2. 3
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/TagUpdateDto.cs
  3. 2
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitErrorCodes.cs
  4. 17
      modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagAlreadyExistException.cs
  5. 4
      modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagManager.cs
  6. 6
      modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Contents/EfCoreContentRepository.cs
  7. 6
      modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Tags/EfCoreTagRepository.cs
  8. 6
      modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Contents/MongoContentRepository.cs
  9. 6
      modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Tags/MongoTagRepository.cs
  10. 52
      modules/cms-kit/test/Volo.CmsKit.Application.Tests/Tags/TagAdminAppService_Tests.cs
  11. 4
      modules/cms-kit/test/Volo.CmsKit.Application.Tests/Tags/TagPublicAppService_Tests.cs

5
modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/TagCreateDto.cs

@ -1,12 +1,17 @@
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Validation;
using Volo.CmsKit.Tags;
namespace Volo.CmsKit.Admin.Tags
{
public class TagCreateDto
{
[Required]
[DynamicMaxLength(typeof(TagConsts), nameof(TagConsts.MaxEntityTypeLength))]
public string EntityType { get; set; }
[Required]
[DynamicMaxLength(typeof(TagConsts), nameof(TagConsts.MaxNameLength))]
public string Name { get; set; }
}
}

3
modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/TagUpdateDto.cs

@ -1,10 +1,13 @@
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Validation;
using Volo.CmsKit.Tags;
namespace Volo.CmsKit.Admin.Tags
{
public class TagUpdateDto
{
[Required]
[DynamicMaxLength(typeof(TagConsts), nameof(TagConsts.MaxNameLength))]
public string Name { get; set; }
}
}

2
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitErrorCodes.cs

@ -2,6 +2,6 @@
{
public static class CmsKitErrorCodes
{
//Add your business exception error codes here...
public const string TagAlreadyExist = "CmsKit:0001";
}
}

17
modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagAlreadyExistException.cs

@ -0,0 +1,17 @@
using JetBrains.Annotations;
using System;
using Volo.Abp;
namespace Volo.CmsKit.Tags
{
[Serializable]
public class TagAlreadyExistException : BusinessException
{
public TagAlreadyExistException([NotNull] string entityType, [NotNull] string name)
{
Code = CmsKitErrorCodes.TagAlreadyExist;
WithData(nameof(Tag.EntityType), entityType);
WithData(nameof(Tag.Name), name);
}
}
}

4
modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagManager.cs

@ -41,7 +41,7 @@ namespace Volo.CmsKit.Tags
{
if (await _tagRepository.AnyAsync(entityType, name, tenantId, cancellationToken))
{
throw new BusinessException(message: "Tag already exist!"); // Already Exist
throw new TagAlreadyExistException(entityType, name);
}
return await _tagRepository.InsertAsync(
@ -63,7 +63,7 @@ namespace Volo.CmsKit.Tags
if (name != entity.Name &&
await _tagRepository.AnyAsync(entity.EntityType, name, entity.TenantId, cancellationToken))
{
throw new BusinessException(message: "Tag already exist!"); // Already Exist
throw new TagAlreadyExistException(entity.EntityType, name);
}
entity.SetName(name);

6
modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Contents/EfCoreContentRepository.cs

@ -24,7 +24,7 @@ namespace Volo.CmsKit.Contents
x.EntityType == entityType &&
x.EntityId == entityId &&
x.TenantId == tenantId,
cancellationToken: cancellationToken
cancellationToken: GetCancellationToken(cancellationToken)
);
}
@ -39,7 +39,7 @@ namespace Volo.CmsKit.Contents
x.EntityType == entityType &&
x.EntityId == entityId &&
x.TenantId == tenantId,
cancellationToken: cancellationToken
cancellationToken: GetCancellationToken(cancellationToken)
);
}
@ -49,7 +49,7 @@ namespace Volo.CmsKit.Contents
x.EntityType == entityType &&
x.EntityId == entityId &&
x.TenantId == tenantId,
cancellationToken: cancellationToken);
cancellationToken: GetCancellationToken(cancellationToken));
}
}
}

6
modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Tags/EfCoreTagRepository.cs

@ -29,7 +29,7 @@ namespace Volo.CmsKit.Tags
x.EntityType == entityType &&
x.Name == name &&
x.TenantId == tenantId,
cancellationToken);
GetCancellationToken(cancellationToken));
}
public virtual Task<Tag> GetAsync(
@ -42,7 +42,7 @@ namespace Volo.CmsKit.Tags
x.EntityType == entityType &&
x.Name == name &&
x.TenantId == tenantId,
cancellationToken: cancellationToken);
cancellationToken: GetCancellationToken(cancellationToken));
}
public virtual Task<Tag> FindAsync(
@ -55,7 +55,7 @@ namespace Volo.CmsKit.Tags
x.EntityType == entityType &&
x.Name == name &&
x.TenantId == tenantId,
cancellationToken: cancellationToken);
cancellationToken: GetCancellationToken(cancellationToken));
}
public virtual async Task<List<Tag>> GetAllRelatedTagsAsync(

6
modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Contents/MongoContentRepository.cs

@ -24,7 +24,7 @@ namespace Volo.CmsKit.MongoDB.Contents
x.EntityType == entityType &&
x.EntityId == entityId &&
x.TenantId == tenantId,
cancellationToken: cancellationToken
cancellationToken: GetCancellationToken(cancellationToken)
);
}
@ -39,7 +39,7 @@ namespace Volo.CmsKit.MongoDB.Contents
x.EntityType == entityType &&
x.EntityId == entityId &&
x.TenantId == tenantId,
cancellationToken: cancellationToken
cancellationToken: GetCancellationToken(cancellationToken)
);
}
@ -49,7 +49,7 @@ namespace Volo.CmsKit.MongoDB.Contents
x.EntityType == entityType &&
x.EntityId == entityId &&
x.TenantId == tenantId,
cancellationToken: cancellationToken);
cancellationToken: GetCancellationToken(cancellationToken));
}
}
}

6
modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Tags/MongoTagRepository.cs

@ -29,7 +29,7 @@ namespace Volo.CmsKit.MongoDB.Tags
x.EntityType == entityType &&
x.Name == name &&
x.TenantId == tenantId,
cancellationToken);
GetCancellationToken(cancellationToken));
}
public Task<Tag> GetAsync(
@ -42,7 +42,7 @@ namespace Volo.CmsKit.MongoDB.Tags
x.EntityType == entityType &&
x.Name == name &&
x.TenantId == tenantId,
cancellationToken: cancellationToken);
cancellationToken: GetCancellationToken(cancellationToken));
}
public Task<Tag> FindAsync(
@ -55,7 +55,7 @@ namespace Volo.CmsKit.MongoDB.Tags
x.EntityType == entityType &&
x.Name == name &&
x.TenantId == tenantId,
cancellationToken: cancellationToken);
cancellationToken: GetCancellationToken(cancellationToken));
}
public virtual async Task<List<Tag>> GetAllRelatedTagsAsync(

52
modules/cms-kit/test/Volo.CmsKit.Application.Tests/Tags/TagAdminAppService_Tests.cs

@ -0,0 +1,52 @@
using Microsoft.Extensions.DependencyInjection;
using NSubstitute;
using Shouldly;
using System;
using System.Threading.Tasks;
using Volo.Abp.Users;
using Volo.CmsKit.Admin.Tags;
using Xunit;
namespace Volo.CmsKit.Tags
{
public class TagAdminAppService_Tests : CmsKitApplicationTestBase
{
private readonly ITagAdminAppService _tagAdminAppService;
private ICurrentUser _currentUser;
private readonly CmsKitTestData _cmsKitTestData;
public TagAdminAppService_Tests()
{
_tagAdminAppService = GetRequiredService<ITagAdminAppService>();
_cmsKitTestData = GetRequiredService<CmsKitTestData>();
}
protected override void AfterAddApplication(IServiceCollection services)
{
_currentUser = Substitute.For<ICurrentUser>();
services.AddSingleton(_currentUser);
}
[Fact]
public async Task ShouldCreateProperly()
{
var list = await _tagAdminAppService.CreateAsync(new TagCreateDto
{
EntityType = "any_new_type",
Name = "1",
});
list.Id.ShouldNotBe(Guid.Empty);
}
[Fact]
public async Task ShouldThrowException_WhenTagAlreadyExist()
{
await Should.ThrowAsync<TagAlreadyExistException>(async () => await _tagAdminAppService.CreateAsync(new TagCreateDto
{
EntityType = _cmsKitTestData.Content_1_EntityType,
Name = _cmsKitTestData.Content_1_Tags[0],
}));
}
}
}

4
modules/cms-kit/test/Volo.CmsKit.Application.Tests/Tags/TagAppService_Tests.cs → modules/cms-kit/test/Volo.CmsKit.Application.Tests/Tags/TagPublicAppService_Tests.cs

@ -10,13 +10,13 @@ using Xunit;
namespace Volo.CmsKit.Tags
{
public class TagAppService_Tests : CmsKitApplicationTestBase
public class TagPublicAppService_Tests : CmsKitApplicationTestBase
{
private readonly ITagAppService _tagAppService;
private ICurrentUser _currentUser;
private readonly CmsKitTestData _cmsKitTestData;
public TagAppService_Tests()
public TagPublicAppService_Tests()
{
_tagAppService = GetRequiredService<ITagAppService>();
_cmsKitTestData = GetRequiredService<CmsKitTestData>();
Loading…
Cancel
Save