public void AddItem(Pizza pizza, int quantity) { CartLine line = cartLine .Where(p => p.Pizza.PizzaId == pizza.PizzaId) .FirstOrDefault(); if (line == null) { cartLine.Add(new CartLine { Pizza = pizza, Quantity = quantity }); } else { line.Quantity += quantity; } }
public void CanAddANewLine() { //Arrange Pizza p1 = new Pizza { PizzaId = 1, Name = "Pizza1" }; Pizza p2 = new Pizza { PizzaId = 2, Name = "Pizza2" }; Cart cart = new Cart(); //Action cart.AddItem(p1, 1); cart.AddItem(p2, 1); CartLine[] results = cart.Lines.ToArray(); //Assert Assert.AreEqual(results.Length, 2); Assert.AreEqual(results[1].Pizza, p2); }
public void CalcCartTotal() { //Arrange Pizza p1 = new Pizza { PizzaId = 1, Name = "Pizza1", Price = 5M }; Pizza p2 = new Pizza { PizzaId = 2, Name = "Pizza2", Price = 3.50M }; Pizza p3 = new Pizza { PizzaId = 3, Name = "Pizza3", Price = 51M }; Cart cart = new Cart(); //Action cart.AddItem(p1, 1); cart.AddItem(p2, 2); cart.AddItem(p3, 1); decimal result = cart.GetTotalValue(); //Assert Assert.AreEqual(result, 63M); }
public ViewResult ViewPizza(Pizza pizza) { Pizza pizzaDetails; var pizzas = repository.Pizzas.Include("PizzaToppings"); pizzaDetails = pizzas.FirstOrDefault(p => p.PizzaId == pizza.PizzaId); var allToppings = toppingRepository.Toppings.Where(t => t.Size == pizza.Size).ToList(); PizzaSelectViewModel viewModel = new PizzaSelectViewModel { Pizza = pizzaDetails, Toppings = allToppings }; toppingList = new List<Topping>(); Session["ToppingList"] = new List<Topping>(); return View(viewModel); }
public void CanAddQuantityToExistingLine() { //Arrange Pizza p1 = new Pizza { PizzaId = 1, Name = "Pizza1" }; Pizza p2 = new Pizza { PizzaId = 2, Name = "Pizza2" }; Cart cart = new Cart(); //Action cart.AddItem(p1, 1); cart.AddItem(p2, 1); cart.AddItem(p1, 5); CartLine[] results = cart.Lines.OrderBy(p => p.Pizza.PizzaId).ToArray(); //Assert Assert.AreEqual(results.Length, 2); Assert.AreEqual(results[0].Quantity, 6); Assert.AreEqual(results[1].Quantity, 1); }
public void CanRemoveLine() { //Arrange Pizza p1 = new Pizza { PizzaId = 1, Name = "Pizza1" }; Pizza p2 = new Pizza { PizzaId = 2, Name = "Pizza2" }; Pizza p3 = new Pizza { PizzaId = 3, Name = "Pizza3" }; Cart cart = new Cart(); //Action cart.AddItem(p1, 1); cart.AddItem(p2, 2); cart.AddItem(p1, 5); cart.AddItem(p3, 3); cart.RemoveLine(p1); //Assert Assert.AreEqual(cart.Lines.Count(), 2); Assert.AreEqual(cart.Lines.Where(p => p.Pizza == p1).Count(), 0); }
public void RemoveLine(Pizza pizza) { cartLine.RemoveAll(line => line.Pizza.PizzaId == pizza.PizzaId); }
public ActionResult RetrieveSavedOrder(Cart cart) { var orderlineQuery = orderlineRepository.Orderlines.Where(u => u.UserId == WebSecurity.CurrentUserId).ToList(); cart.Clear(); foreach (var orderline in orderlineQuery) { if (orderline != null) { if (orderline.OrderId == 0) { Pizza pizza = new Pizza(); pizza.PizzaId = orderline.PizzaId; pizza.Name = repository.Pizzas.FirstOrDefault(p => p.PizzaId == pizza.PizzaId).Name; pizza.Size = repository.Pizzas.FirstOrDefault(p => p.PizzaId == pizza.PizzaId).Size; pizza.Price = orderline.OrderlinePrice; cart.AddItem(pizza, 1); TempData["message"] = string.Format("Order Retrieved"); } } } if(orderlineQuery.Count() == 0){ TempData["message"] = string.Format("No Items Saved"); } return RedirectToAction("Index"); }
public void CanClearCart() { //Arrange Pizza p1 = new Pizza { PizzaId = 1, Name = "Pizza1", Price = 5M }; Pizza p2 = new Pizza { PizzaId = 2, Name = "Pizza2", Price = 3.50M }; Pizza p3 = new Pizza { PizzaId = 3, Name = "Pizza3", Price = 51M }; Cart cart = new Cart(); //Action cart.AddItem(p1, 1); cart.AddItem(p2, 2); cart.AddItem(p3, 1); cart.Clear(); //Assert Assert.AreEqual(cart.Lines.Count(), 0); }