public async Task adding_the_same_member_to_a_capability_multiple_times_yields_single_membership() { var capability = new CapabilityBuilder().Build(); var sut = new CapabilityApplicationServiceBuilder() .WithCapabilityRepository(new StubCapabilityRepository(capability)) .Build(); var stubMemberEmail = "*****@*****.**"; await sut.JoinCapability(capability.Id, stubMemberEmail); await sut.JoinCapability(capability.Id, stubMemberEmail); Assert.Equal(new[] { stubMemberEmail }, capability.Members.Select(x => x.Email)); }
public async Task throws_exception_when_adding_member_to_a_non_existing_capability() { var sut = new CapabilityApplicationServiceBuilder() .WithCapabilityRepository(new StubCapabilityRepository()) .Build(); var nonExistingCapabilityId = Guid.Empty; var dummyMemberEmail = "*****@*****.**"; await Assert.ThrowsAsync <CapabilityDoesNotExistException>(() => sut.JoinCapability(nonExistingCapabilityId, dummyMemberEmail)); }
public async Task expected_member_is_added_to_capability() { var capability = new CapabilityBuilder().Build(); var sut = new CapabilityApplicationServiceBuilder() .WithCapabilityRepository(new StubCapabilityRepository(capability)) .Build(); var stubMemberEmail = "*****@*****.**"; await sut.JoinCapability(capability.Id, stubMemberEmail); Assert.Equal(new[] { stubMemberEmail }, capability.Members.Select(x => x.Email)); }