Example #1
0
        public void ShoppingCart_IfNullRedirectToIndex()
        {
            using (var homeController = new HomeController(MockData.MoqLogger(), MockData.MoqShopContext(),
                                                           MockData.MoqEmailSender(), MockData.MoqMyLogger()))
            {
                var controllerContext = new ControllerContext()
                {
                    HttpContext = new DefaultHttpContext()
                    {
                        Session = new MockHttpSession()
                    }
                };

                homeController.ControllerContext = controllerContext;
                homeController.HttpContext.Session.Set(WebConst.SessionCart, (List <OrderedBook>)null);

                var action = homeController.ShoppingCart() as RedirectToActionResult;

                Assert.Equal("Index", action.ActionName);
            }
        }
Example #2
0
        public void ShoppingCart_ShouldReturnValidModel()
        {
            using (var homeController = new HomeController(MockData.MoqLogger(), MockData.MoqShopContext(),
                                                           MockData.MoqEmailSender(), MockData.MoqMyLogger()))
            {
                OrderedBook orderedBook1 = new OrderedBook {
                    BookId = 1, Quantity = 3
                };
                OrderedBook orderedBook2 = new OrderedBook {
                    BookId = 2, Quantity = 4
                };
                OrderedBook orderedBook3 = new OrderedBook {
                    BookId = 3, Quantity = 2
                };
                List <OrderedBook> mockOrderedBookList = new List <OrderedBook>();
                mockOrderedBookList.Add(orderedBook1);
                mockOrderedBookList.Add(orderedBook2);
                mockOrderedBookList.Add(orderedBook3);

                var controllerContext = new ControllerContext()
                {
                    HttpContext = new DefaultHttpContext()
                    {
                        Session = new MockHttpSession()
                    }
                };

                homeController.ControllerContext = controllerContext;
                homeController.HttpContext.Session.Set(WebConst.SessionCart, mockOrderedBookList);

                var result = homeController.ShoppingCart() as ViewResult;
                var model  = result?.Model as ShoppingCartViewModel;

                Assert.NotNull(model);
                Assert.NotNull(model.Basket);
                Assert.Equal("The House in the Cerulean Sea", model.Basket.FirstOrDefault(x => x.BookId == 3)?.Title);
                Assert.Equal(2, model.Basket.FirstOrDefault(x => x.BookId == 3)?.Quantity);
                Assert.Equal(70.1, model.Basket.FirstOrDefault(x => x.BookId == 3)?.Price);
            }
        }