Example #1
0
        public void MarkdownPromotionController_AddItem_ValidateAddsItem()
        {
            var item       = new MarkdownPromotion("Steak", -.50m);
            var okResponse = _controller.Post(item);

            Assert.Equal(2, _markdowns.GetAllItems().Count());
        }
Example #2
0
        public void MarkdownPromotionController_AddItem_ItemReturnsResponse()
        {
            var item            = new MarkdownPromotion("Steak", -.50m);
            var createdResponse = _controller.Post(item);

            Assert.IsType <CreatedAtActionResult>(createdResponse);
        }
Example #3
0
        public void MultiplesPromotionController_AddItem_ItemDoesntExistInStore()
        {
            var badItem     = new MarkdownPromotion("SomeItemThatDoesntExistInStore", -.50m);
            var badResponse = _controller.Post(badItem);

            Assert.IsType <BadRequestObjectResult>(badResponse);
        }
Example #4
0
        public void MarkdownPromotionController_AddItem_DuplicateItemReturnsBadRequest()
        {
            var dupItem     = new MarkdownPromotion("Soup", -.40m);
            var badResponse = _controller.Post(dupItem);

            Assert.IsType <BadRequestObjectResult>(badResponse);
        }
        public void MarkdownPromotionTests_TestProperties()
        {
            MarkdownPromotion promotion = new MarkdownPromotion("Soup", -.20m);

            Assert.Equal("Soup", promotion.Name);
            Assert.Equal(-.20m, promotion.Discount);
        }
Example #6
0
        public void MarkdownPromotionController_AddItem_ItemReturnsResponseCreatedItem()
        {
            var item            = new MarkdownPromotion("Steak", -.50m);
            var createdResponse = _controller.Post(item) as CreatedAtActionResult;
            var itemResult      = createdResponse.Value as MarkdownPromotion;

            Assert.Equal(item.Name, itemResult.Name);
        }
Example #7
0
        public void MarkdownPromotionController_AddItem_ItemReturnsBadRequest()
        {
            var badItem = new MarkdownPromotion("", 12.00m);

            _controller.ModelState.AddModelError("Name", "Required");
            var badResponse = _controller.Post(badItem);

            Assert.IsType <BadRequestObjectResult>(badResponse);
        }
Example #8
0
        public ActionResult <MarkdownPromotion> Get(string itemName)
        {
            MarkdownPromotion item = _markdowns.GetItem(itemName);

            if (item == null)
            {
                return(NotFound());
            }

            return(Ok(item));
        }
Example #9
0
        public ActionResult Remove(string itemName)
        {
            MarkdownPromotion existingItem = _markdowns.GetItem(itemName);

            if (existingItem == null)
            {
                return(NotFound());
            }

            _markdowns.Remove(existingItem);
            return(Ok());
        }
Example #10
0
        public ActionResult Post([FromBody] MarkdownPromotion value)
        {
            //Validate item
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            //Check for duplicate item
            if (_markdowns.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."));
            }

            MarkdownPromotion item = _markdowns.Add(value);

            return(CreatedAtAction("Get", new { id = item.Name }, item));
        }