Пример #1
0
        public void CanAddBasketItem()
        {
            //Arrange
            IRepository <Basket>   basketRepository   = new MockRepository <Basket>();
            IRepository <Product>  productRepository  = new MockRepository <Product>();
            IRepository <Order>    orderRepository    = new MockRepository <Order>();
            IRepository <Customer> customerRepository = new MockRepository <Customer>();
            MockHttpContext        httpContext        = new MockHttpContext();

            IBasketService basketService = new BasketService(productRepository, basketRepository);
            IOrderService  orderService  = new OrderService(orderRepository);

            var controller = new BasketController(basketService, orderService, customerRepository);

            controller.ControllerContext = new ControllerContext(httpContext, new RouteData(), controller);

            //Act
            // basketService.AddToBasket(httpContext, "1");
            controller.AddToBasket("1");

            Basket basket = basketRepository.Collection().FirstOrDefault();

            //Assert
            Assert.IsNotNull(basket);
            Assert.AreEqual(1, basket.BasketItems.Count);
            Assert.AreEqual("1", basket.BasketItems.ToList().FirstOrDefault().ProductId);
        }
        public void CanAddBasketItem()
        {
            //Setup
            IRepository <Basket>   baskets   = new MockRepository <Basket>();
            IRepository <Product>  products  = new MockRepository <Product>();
            IRepository <Order>    orders    = new MockRepository <Order>();
            IRepository <Customer> customers = new MockRepository <Customer>();

            IBasketService basketService = new BasketService(products, baskets);
            IOrderService  orderService  = new OrderService(orders);
            var            controller    = new BasketController(basketService, orderService, customers);

            var httpContext = new MockHttpContext();

            controller.ControllerContext = new ControllerContext(httpContext, new System.Web.Routing.RouteData(), controller);

            //Act
            //to test the service directly we would do this
            //basketService.AddToBasket(httpContext, "1");
            //to test the service via the controller we do this
            controller.AddToBasket("1");
            Basket basket = baskets.Collection().FirstOrDefault();

            //Assert
            Assert.IsNotNull(basket);
            Assert.AreEqual(1, basket.BasketItems.Count);
            Assert.AreEqual("1", basket.BasketItems.ToList().FirstOrDefault().ProductId);
        }
Пример #3
0
        public void CanPlaceOrder()
        {
            //Arrange
            IRepository <Order>    orderContext    = new MockRepository <Order>();
            IRepository <Product>  productContext  = new MockRepository <Product>();
            IRepository <Cart>     cartContext     = new MockRepository <Cart>();
            IRepository <CartItem> cartItemContext = new MockRepository <CartItem>();

            productContext.Insert(new Product {
                Id = "1", Price = 10
            });
            productContext.Insert(new Product {
                Id = "2", Price = 20
            });

            ICartService cartService = new CartService(productContext, cartContext, cartItemContext);

            cartService.AddToCart(context.Object, "1");
            cartService.AddToCart(context.Object, "2");

            IOrderService orderService = new OrderService(orderContext);

            //Act
            orderService.CreateOrder(new Order()
            {
                OrderStatus = "Order Created"
            }, cartService.GetCartItems(context.Object));

            //Assert
            Assert.AreEqual(orderContext.Collection().ToList()[0].Items.Count, 2);
        }
Пример #4
0
        public void RemoveFromCartTest()
        {
            //Arrange
            MockRepository <Product>  productContext  = new MockRepository <Product>();
            MockRepository <Cart>     cartContext     = new MockRepository <Cart>();
            MockRepository <CartItem> cartItemContext = new MockRepository <CartItem>();

            CartService cart = new CartService(productContext, cartContext, cartItemContext);

            cart.AddToCart(context.Object, "2");

            var cartId = (cartContext.Collection().ToList()[0]).CartItems.ToList()[0].Id;

            //Act
            cart.RemoveFromCart(context.Object, cartId);

            //Assert
            Assert.IsTrue((cartContext.Collection().ToList()[0]).CartItems.Count == 0);
        }
Пример #5
0
        public void CanAddBasketItem()
        {
            IRepository <Product>  product_context  = new MockRepository <Product>();
            IRepository <Basket>   basket_context   = new MockRepository <Basket>();
            IRepository <Order>    order_context    = new MockRepository <Order>();
            IRepository <Customer> customer_context = new MockRepository <Customer>();

            var httpContext = new MockHttpContext();

            IBasketService basketService = new BasketService(product_context, basket_context);
            IOrderService  orderService  = new OrderService(order_context);

            BasketController basketController = new BasketController(basketService, orderService, customer_context);

            basketService.AddToBasket(httpContext, "1");

            Basket basket = basket_context.Collection().FirstOrDefault();

            Assert.IsNotNull(basket);
            Assert.AreEqual(1, basket.basketItems.Count);
            Assert.AreEqual("1", basket.basketItems.FirstOrDefault().product_id);
        }