public void BogoPromotionController_AddItem_ItemReturnsResponse() { var item = new BogoPromotion("Chorizo", 2, 1, 50, 3); var createdResponse = _controller.Post(item); Assert.IsType <CreatedAtActionResult>(createdResponse); }
private void Save_Click(object sender, RoutedEventArgs e) { // read data from var product = _productstore.GetProductbyId(_selectedProductIndx); BasePromotion promo; switch (_promoTypeSelected) { case 1: promo = new PercentagePromotion() { PromotionPercentage = _percentageDiscount }; break; case 2: promo = new BogoPromotion() { Buy = _bogoBuy, Get = _bogoGet }; break; default: promo = new NonePromotion(); break; } product.Promotion = promo; _productstore.SaveProduct(product); }
public void MultiplesPromotionController_AddItem_ItemDoesntExistInStore() { var badItem = new BogoPromotion("SomeItemThatDoesntExistInStore", 2, 1, 50, 3); var badResponse = _controller.Post(badItem); Assert.IsType <BadRequestObjectResult>(badResponse); }
public void BogoPromotionController_AddItem_ValidateAddsItem() { var item = new BogoPromotion("Chorizo", 2, 1, 50, 3); var okResponse = _controller.Post(item); Assert.Equal(2, _bogos.GetAllItems().Count()); }
public void BogoPromotionController_AddItem_DuplicateItemReturnsBadRequest() { var dupItem = new BogoPromotion("Steak", 2, 1, 50, 3); var badResponse = _controller.Post(dupItem); Assert.IsType <BadRequestObjectResult>(badResponse); }
public void BogoPromotionController_AddItem_ItemReturnsResponseCreatedItem() { var item = new BogoPromotion("Chorizo", 2, 1, 50, 3); var createdResponse = _controller.Post(item) as CreatedAtActionResult; var itemResult = createdResponse.Value as BogoPromotion; Assert.Equal(item.Name, itemResult.Name); }
public void BogoPromotionController_AddItem_ItemReturnsBadRequest() { var badItem = new BogoPromotion("", 1, 1, 100, 1); _controller.ModelState.AddModelError("Name", "Required"); var badResponse = _controller.Post(badItem); Assert.IsType <BadRequestObjectResult>(badResponse); }
public void BogoPromotionTests_TestProperties() { BogoPromotion promotion = new BogoPromotion("Soup", 2, 1, 100, 0); Assert.Equal("Soup", promotion.Name); Assert.Equal(2, promotion.QuantityThreshold); Assert.Equal(1, promotion.QuantityImpacted); Assert.Equal(100, promotion.PercentOff); Assert.Equal(0, promotion.QuantityLimit); }
public ActionResult <BogoPromotion> Get(string itemName) { BogoPromotion item = _bogos.GetItem(itemName); if (item == null) { return(NotFound()); } return(Ok(item)); }
public ActionResult Remove(string itemName) { BogoPromotion existingItem = _bogos.GetItem(itemName); if (existingItem == null) { return(NotFound()); } _bogos.Remove(existingItem); return(Ok()); }
public ActionResult Post([FromBody] BogoPromotion value) { //Validate item if (!ModelState.IsValid) { return(BadRequest(ModelState)); } //Check for duplicate item if (_bogos.GetItem(value.Name) != null) { return(BadRequest($"An item already exists with the name {value.Name}.")); } //item needs set up in store to be valid if (_store.GetItem(value.Name) == null) { return(BadRequest($"The item ({value.Name}) has not been set up.")); } BogoPromotion item = _bogos.Add(value); return(CreatedAtAction("Get", new { id = item.Name }, item)); }