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); }
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); }
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); }
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); }