Browse Source

CMS Kit: Fix tests and add new tests for CommentPublicAppService

pull/17924/head
Engincan VESKE 3 years ago
parent
commit
705730339f
  1. 1
      modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Comments/CreateCommentInput.cs
  2. 1
      modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Comments/CreateCommentWithParametersInput.cs
  3. 28
      modules/cms-kit/test/Volo.CmsKit.Application.Tests/Comments/CommentPublicAppService_Tests.cs
  4. 2
      modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs
  5. 2
      modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitTestData.cs

1
modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Comments/CreateCommentInput.cs

@ -21,5 +21,6 @@ public class CreateCommentInput : ExtensibleObject
public string Url { get; set; }
[Required]
public string IdempotencyToken { get; set; }
}

1
modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Comments/CreateCommentWithParametersInput.cs

@ -26,5 +26,6 @@ public class CreateCommentWithParametersInput
public string Url { get; set; }
[Required]
public string IdempotencyToken { get; set; }
}

28
modules/cms-kit/test/Volo.CmsKit.Application.Tests/Comments/CommentPublicAppService_Tests.cs

@ -1,4 +1,5 @@
using System.Linq;
using System;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using NSubstitute;
@ -48,7 +49,8 @@ public class CommentPublicAppService_Tests : CmsKitApplicationTestBase
new CreateCommentInput
{
RepliedCommentId = null,
Text = "newComment"
Text = "newComment",
IdempotencyToken = Guid.NewGuid().ToString("N")
}
);
@ -75,7 +77,8 @@ public class CommentPublicAppService_Tests : CmsKitApplicationTestBase
new CreateCommentInput
{
RepliedCommentId = null,
Text = text
Text = text,
IdempotencyToken = Guid.NewGuid().ToString("N")
}
);
}
@ -95,6 +98,25 @@ public class CommentPublicAppService_Tests : CmsKitApplicationTestBase
{
RepliedCommentId = null,
Text = text, //not allowed URL
IdempotencyToken = Guid.NewGuid().ToString("N")
}
));
}
[Fact]
public async Task CreateAsync_ShouldThrowUserFriendlyException_If_IdempotencyToken_Not_Unique()
{
_currentUser.Id.Returns(_cmsKitTestData.User2Id);
await Should.ThrowAsync<UserFriendlyException>(async () =>
await _commentAppService.CreateAsync(
_cmsKitTestData.EntityType1,
_cmsKitTestData.EntityId1,
new CreateCommentInput
{
RepliedCommentId = null,
Text = "<text>",
IdempotencyToken = _cmsKitTestData.IdempotencyToken_1
}
));
}

2
modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs

@ -194,7 +194,7 @@ public class CmsKitDataSeedContributor : IDataSeedContributor, ITransientDepende
"comment",
null,
_cmsKitTestData.User1Id
));
){ IdempotencyToken = _cmsKitTestData.IdempotencyToken_1 });
await _commentRepository.InsertAsync(new Comment(_guidGenerator.Create(),
_cmsKitTestData.EntityType1,

2
modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitTestData.cs

@ -131,4 +131,6 @@ public class CmsKitTestData : ISingletonDependency
public string PollName { get; } = "Poll";
public string WidgetName { get; } = "CmsPollByCode";
public string IdempotencyToken_1 { get; } = Guid.NewGuid().ToString("N");
}

Loading…
Cancel
Save