예제 #1
0
        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);
        }
예제 #2
0
        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.");
        }