public void ExecuteWithExistFindingTypeTest() { //Arrange var mockFindingTypeRepository = new Mock <IFindingTypeRepository>(); var mockMapper = new Mock <IMapper>(); mockFindingTypeRepository.Setup(e => e.Get(It.IsAny <int>())).Returns(new Domain.FindingType.FindingType()); mockFindingTypeRepository.Setup(e => e.Update(It.IsAny <Domain.FindingType.FindingType>())).Returns(new Domain.FindingType.FindingType()); mockMapper.Setup(e => e.Map <Domain.FindingType.FindingType, FindingTypeOutput>(It.IsAny <Domain.FindingType.FindingType>())).Returns(new FindingTypeOutput(1, "name", "code", true, new List <Domain.FindingType.FindingTypeParametrization>())); var findingtype = new Domain.FindingType.FindingType("name", "code", true, new List <Domain.FindingType.FindingTypeParametrization>()); var useCase = new UpdateFindingTypeUseCase(mockFindingTypeRepository.Object, mockMapper.Object); //Act var res = useCase.Execute(findingtype); //Assert Assert.IsType <FindingTypeOutput>(res); }
public FindingTypeOutput Execute(Domain.FindingType.FindingType updateFindingType) { var findingtype = _findingTypeRepository.Get(updateFindingType.Id); if (findingtype != null) { var validateName = _findingTypeRepository.Get(updateFindingType.Name); if (validateName == null || validateName.Id == updateFindingType.Id) { var res = _findingTypeRepository.Update(updateFindingType); return(_mapper.Map <Domain.FindingType.FindingType, FindingTypeOutput>(res)); } else { throw new DuplicateEntityException(updateFindingType.Name, "Ya existe un Tipo de hallazgo con ese nombre"); } } throw new EntityNotFoundException(updateFindingType.Id, "El tipo de Hallazgo no existe."); }