예제 #1
0
        public void GetAddItemToCartModal_Test()
        {
            int id     = 1;
            var result = controller.AddItemToCart(id);

            var viewResult = Xunit.Assert.IsType <ViewResult>(result);

            Assert.AreEqual(id, viewResult.ViewData["ItemId"]);
        }
예제 #2
0
        public async Task AddItemToCart_ReturnsView_ExistingItem()
        {
            var userMockRepo     = new Mock <FakeUserManager>();
            var itemMockRepo     = new Mock <IItemRepository>();
            var cartItemMockRepo = new Mock <ICartItemRepository>();

            userMockRepo.Setup(repo => repo
                               .FindByNameAsync("abc"))
            .ReturnsAsync(new User {
                Id = "abc"
            });
            itemMockRepo.Setup(repo => repo
                               .GetSingleItem(1))
            .ReturnsAsync(new ItemDto());
            cartItemMockRepo.Setup(repo => repo
                                   .GetCartItem(It.IsAny <int>(), It.IsAny <string>()))
            .ReturnsAsync(new CartItemDto());

            var cartController = new CartController(
                userMockRepo.Object,
                cartItemMockRepo.Object,
                itemMockRepo.Object
                )
            {
                GetUserName = () => "abc"
            };

            var result = await cartController.AddItemToCart(1, It.IsAny <int>());

            // Assert
            Assert.Equal("ItemDetails", result.ActionName);
        }
예제 #3
0
        public async Task AddItemToCart_CallsCreateOnce_NoItemFound()
        {
            var userMockRepo     = new Mock <FakeUserManager>();
            var itemMockRepo     = new Mock <IItemRepository>();
            var cartItemMockRepo = new Mock <ICartItemRepository>();

            userMockRepo.Setup(repo => repo
                               .FindByNameAsync("abc"))
            .ReturnsAsync(new User {
                Id = "abc"
            });
            itemMockRepo.Setup(repo => repo
                               .GetSingleItem(1))
            .ReturnsAsync(new ItemDto());
            cartItemMockRepo.Setup(repo => repo
                                   .GetCartItem(It.IsAny <int>(), It.IsAny <string>()))
            .ReturnsAsync((CartItemDto)null);
            var cartController = new CartController(
                userMockRepo.Object,
                cartItemMockRepo.Object,
                itemMockRepo.Object
                )
            {
                GetUserName = () => "abc"
            };

            await cartController.AddItemToCart(1, It.IsAny <int>());

            cartItemMockRepo.Verify(mock => mock.Create(It.IsAny <Cart_Item>()), Times.Once());
        }
예제 #4
0
        public async Task AddItemToCart_ThrowsException_WithNonExistingItem()
        {
            var userMockRepo     = new Mock <FakeUserManager>();
            var itemMockRepo     = new Mock <IItemRepository>();
            var cartItemMockRepo = new Mock <ICartItemRepository>();

            userMockRepo.Setup(repo => repo
                               .FindByNameAsync("abc"))
            .ReturnsAsync(new User {
                Id = "abc"
            });
            itemMockRepo.Setup(repo => repo
                               .GetSingleItem(1))
            .ReturnsAsync((ItemDto)null);

            var cartController = new CartController(
                userMockRepo.Object,
                cartItemMockRepo.Object,
                itemMockRepo.Object
                )
            {
                GetUserName = () => "abc"
            };

            // Assert
            await Assert.ThrowsAsync <Exception>(() => cartController.AddItemToCart(1, It.IsAny <int>()));
        }
예제 #5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Guid productID = Guid.Parse(Request.QueryString["ProductID"]);

            if (productID != null)
            {
                using (CartController cartController = new CartController())
                {
                    cartController.AddItemToCart(productID);
                }
            }
            else
            {
                Debug.Fail("ERROR : No product has been selected");
                throw new Exception("ERROR : No product has been selected");
            }
            Response.Redirect("ShoppingCart.aspx");
        }