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); }
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); } }
public ActionResult <TeamMemberReadDto> UpdateTeamMember(TeamMemberUpdateDto teamMemberUpdateDto) { if (teamMemberUpdateDto == null) { return(BadRequest()); } try { return(Ok(_service.UpdateTeamMember(teamMemberUpdateDto))); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
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); }