Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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));
        }