Ejemplo n.º 1
0
        public void AddMemberToClanAsync_WhenClanDoesNotExists_ShouldThrowInvalidOperationException()
        {
            // Arrange
            var ownerId = new UserId();
            var clan    = new Clan("test", ownerId);

            TestMock.ClanRepository.Setup(repository => repository.FindClanAsync(It.IsAny <ClanId>())).Verifiable();

            var service = new ClanService(TestMock.ClanRepository.Object);

            // Act
            var action = new Func <Task>(async() => await service.AddMemberToClanAsync(clan.Id, new Candidature(new UserId(), clan.Id)));

            // Assert;
            action.Should().Throw <InvalidOperationException>();

            TestMock.ClanRepository.Verify(repository => repository.FindClanAsync(It.IsAny <ClanId>()), Times.Once);
        }
Ejemplo n.º 2
0
        public async Task AddMemberToClanAsync()
        {
            // Arrange
            var ownerId = new UserId();
            var clan    = new Clan("test", ownerId);

            TestMock.ClanRepository.Setup(repository => repository.FindClanAsync(It.IsAny <ClanId>())).ReturnsAsync(clan).Verifiable();

            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
            await service.AddMemberToClanAsync(clan.Id, new Candidature(new UserId(), clan.Id));

            // Assert;
            TestMock.ClanRepository.Verify(repository => repository.FindClanAsync(It.IsAny <ClanId>()), Times.Once);
            TestMock.ClanRepository.Verify(repository => repository.UnitOfWork.CommitAsync(It.IsAny <bool>(), It.IsAny <CancellationToken>()), Times.Once);
        }