public async Task KickMemberFromClanAsync_ShouldBeOfTypeValidationResult() { // Arrange var ownerId = new UserId(); var clan = new Clan("test", ownerId); var memberUserId = new UserId(); clan.AddMember(new Member(clan.Id, memberUserId)); var member = clan.FindMember(memberUserId); TestMock.ClanRepository.Setup(repository => repository.UnitOfWork.CommitAsync(It.IsAny <bool>(), It.IsAny <CancellationToken>())) .Returns(Task.CompletedTask) .Verifiable(); var service = new ClanService(TestMock.ClanRepository.Object); // Act var result = await service.KickMemberFromClanAsync(clan, ownerId, member.Id); // Assert result.Should().BeOfType <DomainValidationResult <Member> >(); TestMock.ClanRepository.Verify(repository => repository.UnitOfWork.CommitAsync(It.IsAny <bool>(), It.IsAny <CancellationToken>()), Times.Once); }
public async Task KickMemberFromClanAsync_WhenNotOwner_ShouldBeOfTypeValidationResultWithErrors() { // Arrange var ownerId = new UserId(); var clan = new Clan("test", new UserId()); var service = new ClanService(TestMock.ClanRepository.Object); // Act var result = await service.KickMemberFromClanAsync(clan, ownerId, new MemberId()); // Assert result.Should().BeOfType <DomainValidationResult <Member> >(); result.Errors.Should().NotBeEmpty(); }