public void Adding_Tour_To_Cart_Goes_To_Cart_Screen() { // Arrange - create the mock repository Mock<ITourRepository> mock = new Mock<ITourRepository>(); mock.Setup(m => m.Tours).Returns(new Tour[] { new Tour {TourID = 1, Name = "P1", Category = "Apples"}, }.AsQueryable()); // Arrange - create a Cart Cart cart = new Cart(); // Arrange - create the controller CartController target = new CartController(mock.Object); // Act - add a product to the cart RedirectToRouteResult result = target.AddToCart(cart, 2, "myUrl"); // Assert Assert.AreEqual(result.RouteValues["action"], "Index"); Assert.AreEqual(result.RouteValues["returnUrl"], "myUrl"); }
public void Can_Add_To_Cart() { // Arrange - create the mock repository Mock<ITourRepository> mock = new Mock<ITourRepository>(); mock.Setup(m => m.Tours).Returns( new Tour[] { new Tour {TourID = 1, Name = "P1", Category = "Apples"}, }.AsQueryable()); // Arrange - create a Cart Cart cart = new Cart(); // Arrange - create the controller CartController target = new CartController(mock.Object); // Act - add a product to the cart target.AddToCart(cart, 1, null); // Assert Assert.AreEqual(cart.Lines.Count(), 1); Assert.AreEqual(cart.Lines.ToArray()[0].Tour.TourID, 1); }