public async Task ClearOrder_should_remove_all_items() { // given var orderRepository = new OrderRepository(); var product = new Product { Name = "Shoe" }; var item = new OrderItem { Product = product, Quantity = 2 }; var product2 = new Product { Name = "Hat" }; var item2 = new OrderItem { Product = product2, Quantity = 1 }; var order = await orderRepository.AddItem(null, item); await orderRepository.AddItem(order.OrderId, item2); // when var cleanOrder = await orderRepository.ClearOrder(order.OrderId); // then Assert.Equal(0, cleanOrder.Items.Count); }
private void AddProductInOrder() { var index = ProductListBox.SelectedIndex; if (index == -1) { return; } var item = ProductList[index]; orderRep.AddItem(item); PopulateOrderListBox(); }
public async Task RemoveItem_should_remove_item() { // given var orderRepository = new OrderRepository(); var product = new Product { Name = "A thing that looks a bit like a panda" }; var item = new OrderItem { Product = product, Quantity = 1 }; var order = await orderRepository.AddItem(null, item); // when var orderAfterRemoving = await orderRepository.RemoveItem(order.OrderId, item.ItemId); // then Assert.Null(orderAfterRemoving.Items.SingleOrDefault(x => x.ItemId == item.ItemId)); }
public async Task UpdateQuantity_should_update_quantity() { // given var orderRepository = new OrderRepository(); var product = new Product { Name = "Saxophone " }; var item = new OrderItem { Product = product, Quantity = 1 }; var order = await orderRepository.AddItem(null, item); // when var updatedOrder = await orderRepository.UpdateQuantity(order.OrderId, item.ItemId, 3); // then Assert.Equal(3, updatedOrder.Items.Single(x => x.ItemId == item.ItemId).Quantity); }
public IActionResult CreateLineItem(int orderId, LineItem item) { var items = _repo.GetLineItems(orderId); var existingLineItem = items.Where(li => li.ProductId == item.ProductId).ToList(); if (existingLineItem.Count > 0) { var updatedLineItemQuantity = patchLineItemQuantity(existingLineItem[0].LineItemId); var updatedItems = _repo.GetLineItems(orderId).ToList(); _repo.UpdatePurchaseOrderTotal(orderId, updatedItems); return(updatedLineItemQuantity); } _repo.AddItem(orderId, item); return(Created($"/api/orders/{orderId}/items/{item.LineItemId}", item)); }
public async Task AddItem_without_order_should_create_order() { // given var orderRepository = new OrderRepository(); var product = new Product { Name = "A large cat" }; var item = new OrderItem { Product = product, Quantity = 4 }; // when var newOrder = await orderRepository.AddItem(null, item); // then Assert.NotNull(newOrder); Assert.Equal("A large cat", newOrder.Items.Single(x => x.ItemId == item.ItemId).Product.Name); Assert.Equal(4, newOrder.Items.First().Quantity); }
public async Task <IActionResult> PutOrderItem([FromRoute] int id, [FromRoute] int idd) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var order = await orderRepository.AddItem(id, idd); if (order == null) { return(BadRequest()); } OrderDTO order_dto = new OrderDTO(); order_dto.OrderId = order.OrderId; order_dto.OrderName = order.OrderName; order_dto.address = order.address; order_dto.date = order.date; order_dto.cost = order.cost; order_dto.status = order.status; order_dto.orderItems = new List <ProductDTO>(); foreach (Product prod in order.orderItems) { ProductDTO prod_dto = new ProductDTO(); prod_dto.ProductId = prod.ProductId; prod_dto.name = prod.name; prod_dto.description = prod.description; //get Category CategoryDTO cat_dto = new CategoryDTO(); cat_dto.CategoryId = prod.category.CategoryId; cat_dto.name = prod.category.name; cat_dto.description = prod.category.description; order_dto.orderItems.Add(prod_dto); } return(Ok(order_dto)); }