public async Task <IHttpActionResult> Update(UpdateVisitBindingModel model) { Visit visit = null; Visit result = null; VisitInfoBindingModel visitModel; try { visit = await _unitOfWork.VisitRepository.FindWithCustomerAndServiceAsync(model.Id); visit = _mapper.Map(model, visit); await _unitOfWork.VisitRepository.Update(visit); await _unitOfWork.CompleteAsync(); result = await _unitOfWork.VisitRepository.FindWithCustomerAndServiceAsync(model.Id); visitModel = _mapper.Map <VisitInfoBindingModel>(visit); } catch (ItemNotFoundException e) { return(NotFound()); } catch (Exception e) { _logger.Error(e); return(InternalServerError()); } return(Ok(visitModel)); }
public async Task Update_ShouldReturnInternalServerErrorIfExcepion() { // Arrange UpdateVisitBindingModel model = new UpdateVisitBindingModel { Cost = 100, Id = 99999, ServiceId = 1 }; unitOfWorkMock.Setup(x => x.VisitRepository.FindWithCustomerAndServiceAsync(model.Id)).ThrowsAsync(new Exception()); // Act IHttpActionResult result = await controller.Update(model); // Assert Assert.IsInstanceOfType(result, typeof(InternalServerErrorResult)); }
public async Task Update_ShouldReturnItemNotFoundResultIfItemNotFound() { // Arrange UpdateVisitBindingModel model = new UpdateVisitBindingModel { Cost = 100, Id = 99999, ServiceId = 1 }; unitOfWorkMock.Setup(x => x.VisitRepository.FindWithCustomerAndServiceAsync(It.IsAny <int>())).ThrowsAsync(new ItemNotFoundException()); // Act IHttpActionResult result = await controller.Update(model); // Assert Assert.IsInstanceOfType(result, typeof(NotFoundResult)); }