public TestOrderRepository() { _order = _order ?? new Order("TESTORDER", "testuser"); _orders = new List<Order>(); _orders.Add(_order); //create the items _orderItems = new List<OrderItem>(); _addresses = new List<Address>(); for (int i = 0; i < 2; i++) { var add = new Address("testuser", "first" + i, "last" + i, "email" + i, "street1" + i, "street2" + i, "city" + i, "stateprovince" + i, "zip" + i, "country" + i); add.IsDefault = i == 1; add.ID = i; if (!_addresses.Contains(add)) _addresses.Add(add); } TestCatalogRepository catalog = new TestCatalogRepository(); for (int i = 0; i < 99; i++) { Order o = new Order("order" + i, "user" + 1); o.ID = Guid.NewGuid(); for (int x = 1; x <= 5; x++) { OrderItem item = new OrderItem(o.ID, catalog.GetProducts() .Where(y=>y.ID==x).SingleOrDefault()); item.Quantity = x == 5 ? 3 : 1; if(item.Quantity==1) item.Quantity = x == 4 ? 2 : 1; _orderItems.Add(item); o.Items.Add(item); } o.ShippingAddress = GetAddresses().Take(1).Skip(1).SingleOrDefault(); _orders.Add(o); } }
/// <summary> /// Adds a product to the cart /// </summary> public void AddItem(Product product, int quantity) { //see if this item is in the cart already OrderItem item = FindItem(product); if (quantity != 0) { if (item != null) { //if the passed in amount is 0, do nothing //as we're assuming "add 0 of this item" means //do nothing if (quantity != 0) AdjustQuantity(product, item.Quantity + quantity); } else { if (quantity > 0) { item = new OrderItem(this.ID,product, quantity); //add to list this.Items.Add(item); } } } }
public void OrderItem_With_ProductID_1_Should_Be_Returned_When_Using_Contains() { Product p = _catalogService.GetProduct(1); Order order = new Order("testuser"); OrderItem item1 = new OrderItem(p, 5); OrderItem item2 = new OrderItem(p, 2); order.Items.Add(item1); Assert.IsTrue(order.Items.Contains(item2)); }
public void OrderRepository_Should_Accept_Product_1() { Product p = _catalogService.GetProduct(1); IOrderRepository rep = new TestOrderRepository(); Order order = new Order("testuser"); OrderItem item1 = new OrderItem(p, 1); order.Items.Add(item1); Assert.AreEqual(1, order.Items.Count); }
public void OrderItem_With_ProductID_1_ShouldEqual_Item2_With_ProductID_1_AndDifferent_Quantity() { Product p = _catalogService.GetProduct(1); OrderItem item1 = new OrderItem(p, 5); OrderItem item2 = new OrderItem(p, 2); Assert.AreEqual(item1, item2); }
public void OrderItem_With_ProductID_1_Should_Return_Product1_ForToString() { Product p = _catalogService.GetProduct(1); OrderItem item1 = new OrderItem(p, 5); Assert.AreEqual("Product1", item1.ToString()); }
public void OrderItem_Should_Have_Product_And_Quantity() { Product p = _catalogService.GetProduct(1); OrderItem item = new OrderItem(p, 5); Assert.AreEqual(1, item.Product.ID); Assert.AreEqual(5, item.Quantity); }
public void OrderItem_Should_Have_Category_SubCategory_From_Where_ProductWas_Selected() { Product p = _catalogService.GetProduct(1); OrderItem item = new OrderItem(p, 5); }
public void OrderItem_Should_Return_ProductName_ForToString() { Product p = _catalogService.GetProduct(1); OrderItem item = new OrderItem(Guid.NewGuid(), p, 5); Assert.AreEqual("Product1",item.ToString()); }
public void OrderItem_Should_Be_Equal_With_Same_Product_And_OrderID() { Guid orderID = Guid.NewGuid(); Product p = _catalogService.GetProduct(1); OrderItem item = new OrderItem(orderID, p, 5); OrderItem item2 = new OrderItem(orderID, p, 5); Assert.AreEqual(item,item2); Assert.IsTrue(item.Equals(item2)); }
public void OrderItem_Should_Have_LineItem_Summary_EqualTo_25_For_5_TestProduct_WithDiscounts_Of_5_Each() { Product p = _catalogService.GetProduct(1); p.DiscountPercent = .50M; OrderItem item = new OrderItem(Guid.Empty, p, 5); Assert.AreEqual(25, item.LineTotal); }
public void OrderItem_Should_Have_LineItem_Summary_EqualTo_50_For_5_TestProduct() { Product p = _catalogService.GetProduct(1); OrderItem item = new OrderItem(Guid.Empty, p); item.Quantity = 5; Assert.AreEqual(50,item.LineTotal); }
public void OrderItem_Should_Have_OrderID_Product_Quantity_DiscountAmount() { Product p = _catalogService.GetProduct(1); OrderItem item=new OrderItem(Guid.Empty,p); Assert.AreEqual(Guid.Empty,item.OrderID); Assert.AreEqual(p, item.Product); Assert.AreEqual(1, item.Quantity); }