public void AddItem_ValidObjectPassed_ReturnsCreatedResponse()
        {
            // Arrange
            ShoppingItem testItem = new ShoppingItem()
            {
                Name         = "Guinness Original 6 Pack",
                Manufacturer = "Guinness",
                Price        = 12.00M
            };

            // Act
            var createdResponse = _controller.AddItem(testItem);

            // Assert
            Assert.IsType <CreatedAtActionResult>(createdResponse);
        }
        public void ShoppingCartController_AddItem_ShouldRedirect() {

            ShoppingCartController controller = new ShoppingCartController(cartService, catalogService);
            ActionResult result=controller.AddItem(1);

            //we should get a redirect here
            Assert.IsInstanceOfType(result, typeof(ActionRedirectResult));
        }
        public void ShoppingCartController_AddItem_ShouldRedirect()
        {
            ShoppingCartController controller = new ShoppingCartController(cartService, catalogService);
            ActionResult           result     = controller.AddItem(1);

            //we should get a redirect here
            Assert.IsInstanceOfType(result, typeof(ActionRedirectResult));
        }
        public void ShoppingCartController_AddItem_ShouldRedirect_ToItemAdded_AndPassIn_ID_1() {

            ShoppingCartController controller = new ShoppingCartController(cartService, catalogService);
            ActionRedirectResult result = (ActionRedirectResult)controller.AddItem(1);

            //we should get a redirect here
            Assert.AreEqual("ItemAdded", result.Values["action"].ToString());
            Assert.AreEqual("1", result.Values["productID"].ToString());
        }
        public void ShoppingCartController_AddItem_ShouldRedirect_ToItemAdded_AndPassIn_ID_1()
        {
            ShoppingCartController controller = new ShoppingCartController(cartService, catalogService);
            ActionRedirectResult   result     = (ActionRedirectResult)controller.AddItem(1);

            //we should get a redirect here
            Assert.AreEqual("ItemAdded", result.Values["action"].ToString());
            Assert.AreEqual("1", result.Values["productID"].ToString());
        }
        public async Task AddExistingItemToCart()
        {
            await _cartStorage.Store(new List <ShoppingCartItem> {
                new ShoppingCartItem(3, "foo")
            });

            await _controller.AddItem(new ShoppingCartLineUpdateModel { Quantity = 7, ProductSku = "foo" });

            var cart = await _cartStorage.Retrieve();

            Assert.Equal(new List <ShoppingCartItem> {
                new ShoppingCartItem(10, "foo")
            }, cart);
        }