public void TestInvalidVoucherCode() { string voucherCode = "NotARealVoucherCode"; Voucher voucher = new Voucher(); voucher.VoucherCode = voucherCode; voucher.CheckValidVoucher(VR.GetWhere(voucherCode, null, true)); Assert.AreEqual(false, voucher.IsValid); }
public void TestValidVoucherCode() { string voucherCode = "2MEDIUMCOLL"; Voucher voucher = new Voucher(); voucher.VoucherCode = voucherCode; voucher.CheckValidVoucher(VR.GetWhere(voucherCode, null, true)); Assert.AreEqual(true, voucher.IsValid); }
public void TestInvalidDayVoucher() { // var today = DateTime.Today.DayOfWeek.ToString(); string today = "Monday"; string voucherCode = "FAMFRIDAYCOLL"; Voucher voucher = new Voucher(); voucher.VoucherCode = voucherCode; voucher.CheckValidVoucher(VR.GetWhere(voucherCode, null, true)); Assert.AreNotEqual(today, voucher.ValidDay); }
public ActionResult Menu(string basePizza, string baseSize, List <string> Toppings, string voucherCode) { ViewBag.pizzaList = PizzaRepository.ToPropertyList("Name"); ViewBag.sizeList = PizzaRepository.ToPropertyList("Size"); ViewBag.toppingList = ToppingRepository.ToPropertyList("Name"); Basket basket = GetSessionBasket(); Voucher Voucher = new Voucher(); if (voucherCode != null) { Voucher.VoucherCode = voucherCode; Voucher.CheckValidVoucher(VoucherRepository.GetWhere(voucherCode, null, true)); if (Voucher.IsValid) { if (basket.Voucher == null) { basket.Voucher = Voucher; } else { Voucher currentVoucher = basket.Voucher; if (currentVoucher.VoucherCode != voucherCode) { basket.Voucher = Voucher; } } } SetSessionBasket(basket); } else if (basket.Voucher != null) { Voucher = basket.Voucher; } ViewBag.VoucherMessage = Voucher.VoucherMessage; if (basePizza != null && baseSize != null) { Pizza pizza = GetBase(basePizza, baseSize); pizza.InMenu = false; pizza.Toppings = GetToppings(Toppings, pizza); pizza.CalculateTotalCost(); basket.AddToBasket(pizza); SetSessionBasket(basket); ViewBag.Basket = basket; ViewBag.TotalCost = basket.GetTotalCost(); } return(View()); }
public void TestGetBasketCostWithVoucher() { Basket basket = new Basket(); basket.AddToBasket(fakePizza1); basket.AddToBasket(fakePizza2); basket.SetBasketCost(); string voucherCode = "2SMALLCOLL"; Voucher voucher = new Voucher(); voucher.VoucherCode = voucherCode; voucher.CheckValidVoucher(VR.GetWhere(voucherCode, null, true)); basket.Voucher = voucher; basket.Delivery = "Collection"; basket.CheckVoucherConditions(); Assert.AreEqual(12, basket.GetTotalCost()); }
public IHttpActionResult PostPizza(Dictionary <string, object> json) { Pizza pizza = new Pizza(); Basket basket = new Basket(); Voucher voucher = new Voucher(); foreach (KeyValuePair <string, object> item in json) { switch (item.Key) { case "Basket": basket = JsonConvert.DeserializeObject <Basket>(item.Value.ToString()); break; case "Pizza": var p = JsonConvert.DeserializeObject <Dictionary <string, object> >(item.Value.ToString()); string Name = ""; string Size = ""; foreach (KeyValuePair <string, object> keyVal in p) { switch (keyVal.Key) { case "Name": Name = keyVal.Value.ToString(); break; case "Size": Size = keyVal.Value.ToString(); break; } } pizza = GetBase(Name, Size); break; case "Toppings": var toppings = JsonConvert.DeserializeObject <List <string> >(item.Value.ToString()); pizza.Toppings = GetToppings(toppings, pizza); break; case "VoucherCode": var VoucherCode = item.Value.ToString(); voucher.VoucherCode = VoucherCode; voucher.CheckValidVoucher(VoucherRepository.GetWhere(VoucherCode, null, true)); if (voucher.IsValid) { if (basket.Voucher == null) { basket.Voucher = voucher; } else { Voucher currentVoucher = basket.Voucher; if (currentVoucher.VoucherCode != VoucherCode) { basket.Voucher = voucher; } } } break; } } pizza.InMenu = false; pizza.CalculateTotalCost(); basket.AddToBasket(pizza); basket.SetBasketCost(); double totalCost = basket.GetTotalCost(); Dictionary <string, object> basketJson = new Dictionary <string, object>() { ["Basket"] = basket, ["TotalCost"] = totalCost, }; return(Ok(basketJson)); }