public void CanAddBasketItem() { //setup IRepository <Basket> baskets = new MockContext <Basket>(); IRepository <Product> products = new MockContext <Product>(); IRepository <Order> orders = new MockContext <Order>(); IRepository <Customer> customers = new MockContext <Customer>(); var httpContext = new MockHttpContext(); IBasketService basketService = new BasketService(products, baskets); IOrderService orderService = new OrderServices(orders); var controller = new BasketController(basketService, orderService, customers); controller.ControllerContext = new System.Web.Mvc.ControllerContext(httpContext, new System.Web.Routing.RouteData(), controller); //Act //basketService.AddToBasket(httpContext, "1"); controller.AddToBasket("1"); Basket basket = baskets.Colletion().FirstOrDefault(); //Assert Assert.IsNotNull(basket); Assert.AreEqual(1, basket.BasketItems.Count); Assert.AreEqual("1", basket.BasketItems.ToList().FirstOrDefault().ProductId); }