Exemple #1
0
        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;
 }