public async Task AddOrganizationMember_Success( Organization organization, OrganizationMemberDto changeDto, Mock <IMapper <OrganizationDto, Organization> > mapper) { //Arrange changeDto.OrganizationId = organization.Id.Id; OrganizationMember addedMember = null; var repo = new Mock <IReadWriteOrganizationRepository>(); repo.Setup(x => x.GetAsync(changeDto.OrganizationId)).ReturnsAsync(organization); repo.Setup(x => x.UpdateAsync(organization)).Callback(() => addedMember = organization.Members.First(x => x.Email.ActualEmail == changeDto.Email)); var service = new OrganizationWorkerService(repo.Object, mapper.Object); //Act await service.AddOrganizationMember(changeDto); //Assert organization.ChangedBy.Should().Be(changeDto.ChangedBy); organization.ChangeDate.Should().Be(changeDto.ChangeDate); addedMember.Email.ActualEmail.Should().Be(changeDto.Email); addedMember.UserName.Should().Be(changeDto.UserName); }
public async Task AddOrganizationMember(OrganizationMemberDto newMember) { var organization = await _organizationRepository.GetAsync(newMember.OrganizationId); organization.AddMember(newMember.Email, newMember.UserName, newMember.Permission, newMember.ChangeDate, newMember.ChangedBy); await _organizationRepository.UpdateAsync(organization); }
public async Task Handle(AddOrganizationMemberCommand message) { var addMember = new OrganizationMemberDto { OrganizationId = message.OrganizationId, UserName = message.MemberName, Email = message.MemberEmail, Permission = (Permission)message.Permission, ChangeDate = message.ChangeDate, ChangedBy = message.ChangedBy }; await _organizationService.AddOrganizationMember(addMember); }
public void AddMember_ExistingEmail_ThrowsException(Organization organization, OrganizationMemberDto member) { // Arrange member.Email = organization.Members[0].Email.ActualEmail; // Act Action act = () => organization.AddMember(member.Email, member.UserName, member.Permission, member.ChangeDate, member.ChangedBy); // Assert act.Should().Throw <ArgumentException>(); }
public OrganizationMember(OrganizationMemberDto member) { UserName = member.UserName; Email = member.Email; Permission = member.Permission; }