public RedirectToRouteResult RemoveFromCart(CartRepository cart, int productId, string returnUrl) { Product product = _repo.Products.SingleOrDefault(p => p.ProductID == productId); if (product != default(Product)) cart.RemoveLine(product); return RedirectToAction("Index", new { returnUrl }); }
public void Can_Remove_Lines() { Product p1 = new Product { Name = "P1", ProductID = 1 }; Product p2 = new Product { Name = "P2", ProductID = 2 }; Product p3 = new Product { Name = "P3", ProductID = 3 }; CartRepository target = new CartRepository(); target.AddItem(p1, 1); target.AddItem(p2, 2); target.AddItem(p1, 10); target.AddItem(p3, 5); var results = target.CartLineCollections; Assert.AreEqual(results.Count, 3); Assert.AreEqual(results[0].Product, p1); Assert.AreEqual(results[1].Product, p2); Assert.AreEqual(results[2].Product, p3); target.RemoveLine(p2); results = target.CartLineCollections; Assert.AreEqual(results.Count, 2); Assert.AreEqual(results[0].Product, p1); Assert.AreEqual(results[1].Product, p3); Assert.IsFalse(results.Any(p => p.Product.ProductID == p2.ProductID)); }