public static async Task DeleteOrderItemAsync_OrderDoesNotExist_ReturnsNotFoundResult( [Frozen] Mock <IOrderItemService> service, [Frozen] CallOffId callOffId, OrderItemsController controller) { service.Setup(o => o.GetOrderWithCatalogueItems(callOffId)) .ReturnsAsync((Order)null); var response = await controller.DeleteOrderItemAsync(callOffId, new CatalogueItemId(42, "111")); response.Should().BeOfType <NotFoundResult>(); }
public static async Task DeleteOrderItemAsync_OrderDeleted_ReturnsNotFoundResult( [Frozen] Mock <IOrderItemService> service, [Frozen] CallOffId callOffId, Order order, OrderItem orderItem, OrderItemsController controller) { order.AddOrUpdateOrderItem(orderItem); order.IsDeleted = false; service.Setup(o => o.GetOrderWithCatalogueItems(callOffId)) .ReturnsAsync(order); var response = await controller.DeleteOrderItemAsync(callOffId, orderItem.CatalogueItem.Id); response.Should().BeOfType <NotFoundResult>(); }
public static async Task DeleteOrderItemAsync_OrderItemExistsInOrder_ReturnsNoContentResult( [Frozen] Mock <IOrderItemService> service, Order order, List <OrderItem> orderItems, OrderItemsController controller) { orderItems.ForEach(o => order.AddOrUpdateOrderItem(o)); service.Setup(o => o.GetOrderWithCatalogueItems(order.CallOffId)).ReturnsAsync(order); service.Setup(o => o.DeleteOrderItem(order, It.IsAny <CatalogueItemId>())).Callback(() => { order.DeleteOrderItemAndUpdateProgress(order.OrderItems[1].CatalogueItem.Id); }).ReturnsAsync(1); var response = await controller.DeleteOrderItemAsync(order.CallOffId, orderItems[1].CatalogueItem.Id); response.Should().BeOfType <NoContentResult>(); }
public static async Task DeleteOrderItemAsync_OrderItemExistsInOrder_DeletesOrderItem( [Frozen] Mock <IOrderItemService> service, Order order, List <OrderItem> orderItems, OrderItemsController controller) { orderItems[2].CatalogueItem.ParentCatalogueItemId = orderItems[1].CatalogueItem.Id; orderItems.ForEach(o => order.AddOrUpdateOrderItem(o)); service.Setup(o => o.GetOrderWithCatalogueItems(order.CallOffId)) .ReturnsAsync(order); service.Setup(o => o.DeleteOrderItem(order, orderItems[1].CatalogueItem.Id)).Callback(() => { order.DeleteOrderItemAndUpdateProgress(orderItems[1].CatalogueItem.Id); }); await controller.DeleteOrderItemAsync(order.CallOffId, orderItems[1].CatalogueItem.Id); order.OrderItems.Contains(orderItems[1]).Should().BeFalse(); order.OrderItems.Contains(orderItems[2]).Should().BeFalse(); }
public static async Task DeleteOrderItemAsync_OrderItemExistsInOrder_UpdatesProgress( [Frozen] Mock <IOrderItemService> service, [Frozen] CallOffId callOffId, Order order, List <OrderItem> orderItems, OrderItemsController controller) { var itemsToAdd = orderItems.Take(2).ToList(); itemsToAdd[1].CatalogueItem.ParentCatalogueItemId = itemsToAdd[0].CatalogueItem.Id; itemsToAdd.ForEach(o => order.AddOrUpdateOrderItem(o)); order.Progress.AdditionalServicesViewed = true; service.Setup(o => o.GetOrderWithCatalogueItems(callOffId)).ReturnsAsync(order); service.Setup(o => o.DeleteOrderItem(order, itemsToAdd[0].CatalogueItem.Id)).Callback(() => { order.DeleteOrderItemAndUpdateProgress(itemsToAdd[0].CatalogueItem.Id); }); await controller.DeleteOrderItemAsync(callOffId, itemsToAdd[0].CatalogueItem.Id); order.Progress.AdditionalServicesViewed.Should().BeFalse(); }