public async void ExecuteWithDuplicateAspectStatesTest() { //Arrange var newAspectState = new Domain.AspectStates.AspectStates(1, "name1", "colour1", true); var newAspectState2 = new Domain.AspectStates.AspectStates(2, "name1", "colour1", true); AspectStatesOutput aspectStateOutput1 = new AspectStatesOutput(); aspectStateOutput1.ID = 1; aspectStateOutput1.Name = "Estado1"; aspectStateOutput1.Active = true; aspectStateOutput1.Colour = "colour1"; var mockAspectStatesRepository = new Mock <IAspectStatesRepository>(); mockAspectStatesRepository.Setup(e => e.CheckExistsAspectState(It.IsNotNull <string>(), It.IsNotNull <string>(), It.IsNotNull <int>())).Returns(newAspectState); mockAspectStatesRepository.Setup(e => e.GetOne(It.IsNotNull <int>())).Returns(newAspectState2); var mockMapper = new Mock <IMapper>(); UpdateAspectStatusUseCase useCase = new UpdateAspectStatusUseCase(mockMapper.Object, mockAspectStatesRepository.Object); //Act //Assert Assert.Throws <DuplicateEntityException>(() => useCase.Execute(1, "name1", "colour1", true)); }
public void AddDuplicateAspectStateTest() { //Arrange var newAspectState = new Domain.AspectStates.AspectStates("name1", "colour1", true); AspectStatesOutput aspectStateOutput1 = new AspectStatesOutput(); aspectStateOutput1.ID = 1; aspectStateOutput1.Name = "Estado1"; aspectStateOutput1.Active = true; aspectStateOutput1.Colour = "colour1"; var mockAspectStatesRepository = new Mock <IAspectStatesRepository>(); mockAspectStatesRepository.Setup(e => e.Get(It.IsNotNull <string>(), It.IsNotNull <string>())).Returns(newAspectState); mockAspectStatesRepository.Setup(e => e.Add(It.IsNotNull <Domain.AspectStates.AspectStates>())).Returns(newAspectState); var mockMapper = new Mock <IMapper>(); mockMapper.Setup(e => e.Map <Hoshin.Quality.Domain.AspectStates.AspectStates, AspectStatesOutput>(It.IsAny <Domain.AspectStates.AspectStates>())).Returns(aspectStateOutput1); CreateAspectStateUseCase useCase = new CreateAspectStateUseCase(mockMapper.Object, mockAspectStatesRepository.Object); //Act //Assert Assert.Throws <DuplicateEntityException>(() => useCase.Execute("name1", "colour1", true)); }
public async void ExecuteWithExistingAspectStatesTest() { //Arrange var newAspectState = new Domain.AspectStates.AspectStates(1, "name1", "colour1", true); var newAspectState2 = new Domain.AspectStates.AspectStates(1, "name1", "colour1", true); AspectStatesOutput aspectStateOutput1 = new AspectStatesOutput(); aspectStateOutput1.ID = 1; aspectStateOutput1.Name = "Estado1"; aspectStateOutput1.Active = true; aspectStateOutput1.Colour = "colour1"; var mockAspectStatesRepository = new Mock <IAspectStatesRepository>(); mockAspectStatesRepository.Setup(e => e.Update(It.IsNotNull <Domain.AspectStates.AspectStates>())).Returns(newAspectState); mockAspectStatesRepository.Setup(e => e.Get(It.IsNotNull <string>(), It.IsNotNull <string>())).Returns(newAspectState); mockAspectStatesRepository.Setup(e => e.GetOne(It.IsNotNull <int>())).Returns(newAspectState2); var mockMapper = new Mock <IMapper>(); mockMapper.Setup(e => e.Map <Hoshin.Quality.Domain.AspectStates.AspectStates, AspectStatesOutput>(It.IsAny <Domain.AspectStates.AspectStates>())).Returns(aspectStateOutput1); UpdateAspectStatusUseCase useCase = new UpdateAspectStatusUseCase(mockMapper.Object, mockAspectStatesRepository.Object); //Act var res = useCase.Execute(1, "name1", "colour1", true); //Assert Assert.IsType <AspectStatesOutput>(res); }
public AspectStatesOutput Execute(int id, string name, string colour, bool active) { var aspectStatusDomain = _aspectStatesRepository.GetOne(id); if (aspectStatusDomain != null) { if (_aspectStatesRepository.CheckExistsAspectState(name, colour, id) == null) { var aspectStatus = new Domain.AspectStates.AspectStates(id, name, colour, active); aspectStatusDomain = _aspectStatesRepository.Update(aspectStatus); return(_mapper.Map <Domain.AspectStates.AspectStates, AspectStatesOutput>(aspectStatusDomain)); } throw new DuplicateEntityException(name, "Ya existe un estado de aspecto con este nombre o color"); } throw new EntityNotFoundException(id, "No se encontró un estado de aspecto con ese ID"); }