コード例 #1
0
        public void UpdateTeamMember_ShouldThrowException_WhenDuplicateTeamMember()
        {
            var teamMemberUpdateDto = new TeamMemberUpdateDto
            {
                Id        = id,
                Email     = email,
                Firstname = firstname,
                Lastname  = lastname,
                IsActive  = isActive
            };

            var updatedTeamMember = new TeamMember
            {
                Id        = id,
                Email     = teamMemberUpdateDto.Email,
                Firstname = teamMemberUpdateDto.Firstname,
                Lastname  = teamMemberUpdateDto.Lastname,
                IsActive  = isActive,
                TeamId    = teamId
            };

            _unitOfWork.Setup(x => x.TeamMemberRepository.UpdateTeamMember(It.IsAny <TeamMember>())).Returns(updatedTeamMember);
            _unitOfWork.Setup(x => x.Commit()).Throws(new DbUpdateException());

            var result = Record.Exception(() => _service.UpdateTeamMember(teamMemberUpdateDto));

            Assert.IsType <DbUpdateException>(result);
        }
コード例 #2
0
 public TeamMemberReadDto UpdateTeamMember(TeamMemberUpdateDto teamMemberUpdateDto)
 {
     try
     {
         var updatedTeamMember = _unitOfWork.TeamMemberRepository.UpdateTeamMember(_mapper.Map <TeamMember>(teamMemberUpdateDto));
         _unitOfWork.Commit();
         return(_mapper.Map <TeamMemberReadDto>(updatedTeamMember));
     }
     catch (DbUpdateException ex) when((ex.InnerException as SqlException)?.Number == 2601)
     {
         _unitOfWork.Rollback();
         throw new Exception($"Teammember already exists with the email {teamMemberUpdateDto.Email}", ex);
     }
 }
コード例 #3
0
        public ActionResult <TeamMemberReadDto> UpdateTeamMember(TeamMemberUpdateDto teamMemberUpdateDto)
        {
            if (teamMemberUpdateDto == null)
            {
                return(BadRequest());
            }

            try
            {
                return(Ok(_service.UpdateTeamMember(teamMemberUpdateDto)));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
コード例 #4
0
        public void UpdateTeamMember_ShouldUpdateTeamMember_WhenValidTeamMember()
        {
            var teamMemberUpdateDto = new TeamMemberUpdateDto
            {
                Id        = id,
                Email     = email,
                Firstname = firstname,
                Lastname  = lastname,
                IsActive  = isActive
            };

            var updatedTeamMember = new TeamMember
            {
                Id        = id,
                Email     = teamMemberUpdateDto.Email,
                Firstname = teamMemberUpdateDto.Firstname,
                Lastname  = teamMemberUpdateDto.Lastname,
                IsActive  = isActive,
                TeamId    = teamId
            };

            _unitOfWork.Setup(x => x.TeamMemberRepository.UpdateTeamMember(It.Is <TeamMember>(x => x.Email == teamMemberUpdateDto.Email &&
                                                                                              x.Firstname == teamMemberUpdateDto.Firstname &&
                                                                                              x.Lastname == teamMemberUpdateDto.Lastname &&
                                                                                              x.Id == teamMemberUpdateDto.Id &&
                                                                                              x.IsActive == teamMemberUpdateDto.IsActive)))
            .Returns(updatedTeamMember);

            var result = _service.UpdateTeamMember(teamMemberUpdateDto);

            Assert.Equal(id, result.Id);
            Assert.Equal(email, result.Email);
            Assert.Equal(firstname, result.Firstname);
            Assert.Equal(lastname, result.Lastname);
            Assert.Equal(isActive, result.IsActive);
        }