public async Task UpdateDelivery_Should_Return_UpdatedDelivery() { var delivery = SampleData.GetDeliveries()[1]; var deliveries = SampleData.GetDeliveryView(); deliveryService.Setup(x => x.UpdateDelivery(It.IsAny <int>(), It.IsAny <DeliveryStatus>())).ReturnsAsync(delivery); deliveryService.Setup(x => x.GetDelivery(It.IsAny <int>())).ReturnsAsync(deliveries[0]); var result = await deliveryController.UpdateDelivery(delivery.Id, 1); Assert.IsNotNull(result.Value); }
public void UpdateDelivery() { var deliveryService = new Mock <IDeliveryBusinessLayer>(); deliveryService.Setup(x => x.GetDeliveryByID(1)).Returns(testdelivery); var controller = new DeliveryController(deliveryService.Object); IHttpActionResult actionResult = controller.UpdateDelivery(1, testdelivery); var contentResult = actionResult as OkNegotiatedContentResult <Delivery>; Assert.IsNotNull(contentResult.Content); Assert.AreEqual(1, contentResult.Content.DeliveryID); }
public void UpdateDeliveryBadRequestDeliveryIsNull() { // Arrange var mock = new Mock <IDeliveryRepository>(); DeliveryController controller = new DeliveryController(mock.Object); // Act BadRequestObjectResult result = controller.UpdateDelivery( "Random Id", null).Result as BadRequestObjectResult; // Assert Assert.Equal((int?)HttpStatusCode.BadRequest, result.StatusCode); mock.Verify(rep => rep.GetDeliveryByIdAsync(It.IsAny <string>()), Times.Never); }
public async void UpdateDeliveryThrowsException() { // Arrange var mock = new Mock <IDeliveryRepository>(); mock.Setup(rep => rep.GetDeliveryByIdAsync(It.IsAny <string>())).Throws <DeliveryDomainException>(); DeliveryController controller = new DeliveryController(mock.Object); // Act & Assert Exception ex = await Assert.ThrowsAsync <DeliveryDomainException>( async() => { await controller.UpdateDelivery("Random Id", new JsonPatchDocument <Models.Delivery>()); } ); Assert.Equal(typeof(DeliveryDomainException), ex.GetType()); }
public async void UpdateDeliveryBadRequestIdIsNull() { // Arrange var mock = new Mock <IDeliveryRepository>(); DeliveryController controller = new DeliveryController(mock.Object); // Act BadRequestObjectResult result = await controller.UpdateDelivery( "Random User", It.IsAny <JsonPatchDocument <Models.Delivery> >()) as BadRequestObjectResult; // Assert Assert.Equal((int?)HttpStatusCode.BadRequest, result.StatusCode); mock.Verify(rep => rep.GetDeliveryByIdAsync(It.IsAny <string>()), Times.Never); mock.Verify(rep => rep.UpdateDeliveryAsync(It.IsAny <string>(), It.IsAny <Models.Delivery>()), Times.Never); }
public void UpdateDelivery_ReturnsCorrectViewResult() { // Arrange Mock <IDeliveryProvider> deliveryProviderMock = new Mock <IDeliveryProvider>(); deliveryProviderMock.Setup(x => x.GetById(1)) .Returns(deliveries[0]); Mock <IDeliveryHandler> deliveryHandlerMock = new Mock <IDeliveryHandler>(); Mock <IDeliveryValidator> deliveryValidatorMock = new Mock <IDeliveryValidator>(); DeliveryController controller = new DeliveryController(deliveryProviderMock.Object, deliveryHandlerMock.Object, deliveryValidatorMock.Object); // Act ViewResult result = controller.UpdateDelivery(1) as ViewResult; // Assert Assert.IsNotNull(result); Assert.IsTrue(((Delivery)result.Model).Id != default(int)); Assert.AreEqual("UpdateDelivery", result.ViewName); }
public async void UpdateDeliveryNotFound() { // Arrange var mock = new Mock <IDeliveryRepository>(); mock.Setup(rep => rep.GetDeliveryByIdAsync(It.IsAny <string>())) .Returns(Task <Models.Delivery> .Run(() => default(Models.Delivery))); DeliveryController controller = new DeliveryController(mock.Object); // Act NotFoundObjectResult result = await controller.UpdateDelivery( "Unexisting delivery", new JsonPatchDocument <Models.Delivery>()) as NotFoundObjectResult; // Assert Assert.Equal((int?)HttpStatusCode.NotFound, result.StatusCode); mock.Verify(rep => rep.GetDeliveryByIdAsync(It.IsAny <string>()), Times.Once); mock.Verify(rep => rep.UpdateDeliveryAsync(It.IsAny <string>(), It.IsAny <Models.Delivery>()), Times.Never); }
public async void UpdateDeliveryOk(Models.Delivery[] deliveries) { // Arrange var mock = new Mock <IDeliveryRepository>(); Models.Delivery deliveryToUpdate = deliveries[0]; mock.Setup(rep => rep.GetDeliveryByIdAsync(It.IsAny <string>())) .Returns(Task <Models.Delivery> .Run(() => deliveryToUpdate)); DeliveryController controller = new DeliveryController(mock.Object); // Act OkObjectResult model = await controller.UpdateDelivery( deliveryToUpdate.Id, new JsonPatchDocument <Models.Delivery>()) as OkObjectResult; // Assert Assert.Equal((int?)HttpStatusCode.OK, model.StatusCode); mock.Verify(rep => rep.GetDeliveryByIdAsync(It.IsAny <string>()), Times.Once); mock.Verify(rep => rep.UpdateDeliveryAsync(It.IsAny <string>(), It.IsAny <Models.Delivery>()), Times.Once); }