public RedirectToRouteResult RemoveFromCart(Cart cart, int productId, string returnUrl) { Product product = this._repository.Products.FirstOrDefault(p => p.ProductId == productId); if (product != null) { cart.RemoveLine(product); } return RedirectToAction("Index", new { returnUrl }); }
public void CanRemoveLine() { // Arrange - create some test products var p1 = new Product {ProductId = 1, Name = "P1"}; var p2 = new Product {ProductId = 2, Name = "P2"}; var p3 = new Product {ProductId = 3, Name = "P3"}; // Arrange - create a new cart var target = new Cart(); // Arrange - add some products to the cart target.AddItem(p1, 1); target.AddItem(p2, 3); target.AddItem(p3, 5); target.AddItem(p2, 1); // Action target.RemoveLine(p2); // Assert Assert.AreEqual(target.Lines.Count(c => c.Product == p2), 0); Assert.AreEqual(target.Lines.Count(), 2); }