mirror of https://github.com/abpframework/abp
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.7 KiB
83 lines
2.7 KiB
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using Shouldly;
|
|
using Xunit;
|
|
|
|
namespace Volo.CmsKit.Reactions
|
|
{
|
|
public class ReactionManager_Tests : CmsKitDomainTestBase
|
|
{
|
|
private readonly CmsKitTestData _cmsKitTestData;
|
|
private readonly ReactionManager _reactionManager;
|
|
|
|
public ReactionManager_Tests()
|
|
{
|
|
_cmsKitTestData = GetRequiredService<CmsKitTestData>();
|
|
_reactionManager = GetRequiredService<ReactionManager>();
|
|
}
|
|
|
|
[Fact]
|
|
public async Task GetReactionsAsync()
|
|
{
|
|
var reactions = await _reactionManager.GetReactionsAsync();
|
|
|
|
reactions.Count.ShouldBe(8);
|
|
|
|
var reactionsByEntityType = await _reactionManager.GetReactionsAsync(_cmsKitTestData.EntityType1);
|
|
|
|
reactionsByEntityType.Count.ShouldBe(8);
|
|
}
|
|
|
|
[Fact]
|
|
public async Task GetSummariesAsync()
|
|
{
|
|
var summary = await _reactionManager.GetSummariesAsync(
|
|
_cmsKitTestData.EntityType1,
|
|
_cmsKitTestData.EntityId1
|
|
);
|
|
|
|
summary.Single(s=>s.Reaction.Name == StandardReactions.ThumbsUp).Count.ShouldBe(2);
|
|
summary.Single(s=>s.Reaction.Name == StandardReactions.Confused).Count.ShouldBe(1);
|
|
summary.Single(s=>s.Reaction.Name == StandardReactions.Rocket).Count.ShouldBe(0);
|
|
}
|
|
|
|
[Fact]
|
|
public async Task CreateAsync()
|
|
{
|
|
var reaction = await _reactionManager.CreateAsync(
|
|
_cmsKitTestData.User2Id,
|
|
_cmsKitTestData.EntityType1,
|
|
_cmsKitTestData.EntityId2,
|
|
StandardReactions.Eyes
|
|
);
|
|
|
|
reaction.CreatorId.ShouldBe(_cmsKitTestData.User2Id);
|
|
reaction.EntityType.ShouldBe(_cmsKitTestData.EntityType1);
|
|
reaction.EntityId.ShouldBe(_cmsKitTestData.EntityId2);
|
|
reaction.ReactionName.ShouldBe(StandardReactions.Eyes);
|
|
}
|
|
|
|
[Fact]
|
|
public async Task DeleteAsync()
|
|
{
|
|
await _reactionManager.DeleteAsync(
|
|
_cmsKitTestData.User1Id,
|
|
_cmsKitTestData.EntityType1,
|
|
_cmsKitTestData.EntityId1,
|
|
StandardReactions.Confused
|
|
);
|
|
|
|
UsingDbContext(context =>
|
|
{
|
|
var reaction = context.UserReactions.FirstOrDefault(x =>
|
|
x.CreatorId == _cmsKitTestData.User1Id &&
|
|
x.ReactionName == StandardReactions.Confused &&
|
|
x.EntityId == _cmsKitTestData.EntityId1 &&
|
|
x.EntityType == _cmsKitTestData.EntityType1);
|
|
|
|
reaction.ShouldBeNull();
|
|
});
|
|
}
|
|
}
|
|
}
|