public async Task Can_add_items_to_cart() { const string cartId = "CartId_A"; using (var context = CreateContext()) { await context.Database.CreateExecutionStrategy().ExecuteAsync( async() => { using (Fixture.BeginTransaction(context)) { var albums = CreateTestAlbums( 10, new Artist { Name = "Kung Fu Kenny" }, new Genre { Name = "Rap" }); context.AddRange(albums); context.SaveChanges(); var controller = new ShoppingCartController(context, cartId); var albumId = albums[2].AlbumId; await controller.AddToCart(albumId); var cart = ShoppingCart.GetCart(context, cartId); Assert.Single(await cart.GetCartItems()); Assert.Equal(albumId, (await cart.GetCartItems()).Single().AlbumId); } }); } }
public void AddProductToCartWhichExist() { FakeDataStore dataStore = MusicStoreEntitiesFactory.GetEmpty(); dataStore.GenerateAndAddGenre(1); dataStore.GenerateAndAddArtist(1); dataStore.GenerateAndAddAlbum(3, 1, 1, 10M); ShoppingCartController controller = ControllerFactory.GetWiredUpController((s) => new ShoppingCartController(s), store: dataStore); controller.AddToCart(3, 5); RedirectToRouteResult result = controller.AddToCart(3, 5) as RedirectToRouteResult; controller.CartSummary(); var cartCount = controller.ViewData["CartCount"].ToString(); Assert.IsTrue(cartCount == "10"); }
public void AddProductToCartInNegative() { FakeDataStore dataStore = MusicStoreEntitiesFactory.GetEmpty(); dataStore.GenerateAndAddGenre(1); dataStore.GenerateAndAddArtist(1); dataStore.GenerateAndAddAlbum(2, 1, 1, 10M); ShoppingCartController controller = ControllerFactory.GetWiredUpController((s) => new ShoppingCartController(s), store: dataStore); RedirectToRouteResult result = controller.AddToCart(2, -5) as RedirectToRouteResult; Assert.IsTrue(result.RouteValues.ContainsValue("InvalidRequest")); }
public async void ShoppingCartAddToCartWorks() { var product = _context.Products.First(); var user = await _userManager.FindByNameAsync("*****@*****.**"); var result = await _controller.AddToCart(product.ProductID, 2) as ViewResult; var model = result.Model as ShoppingCart; Assert.NotNull(model); Assert.Equal(model.ApplicationUser, user); Assert.Equal(model.Product, product); }
public void AddToCart_WhenCalled_ShouldAddItemToCart() { //Arrange var user = _context.Users.SingleOrDefault(u => u.UserName == "JohnJ"); _controller.MockCurrentUser(user.Id, user.UserName); var itemType = GetItemType(); var item = CreateNewItem(itemType); _context.Items.Add(item); _context.SaveChanges(); //Act - Need to Mock HttpContext var result = _controller.AddToCart(item.Id); //Assert _context.Carts.Should().HaveCount(1); }
public void CallAddToCart() { // Arrange Mock <IShoppingCart> shoppingCartMock = new Mock <IShoppingCart>(); Mock <ICartIdentifier> cartIdentifierMock = new Mock <ICartIdentifier>(); Mock <ICoffee> coffeeMock = new Mock <ICoffee>(); Mock <HttpContextBase> httpContextBaseMock = new Mock <HttpContextBase>(); var id = Guid.NewGuid().ToString(); cartIdentifierMock.Setup(m => m.GetCardId(It.IsAny <HttpContextBase>())).Returns(id); shoppingCartMock.Setup(m => m.GetShoppingCart(It.IsAny <string>())).Returns(shoppingCartMock.Object); ShoppingCartController shoppingCartController = new ShoppingCartController(shoppingCartMock.Object, cartIdentifierMock.Object); shoppingCartController.TempData["Order"] = coffeeMock.Object; //Act shoppingCartController.AddToCart(); // Assert shoppingCartMock.Verify(m => m.AddToCart(It.IsAny <ICoffee>()), Times.Once()); }
public void RedirectsToShoppingcartIndex() { // Arrange Mock <IShoppingCart> shoppingCartMock = new Mock <IShoppingCart>(); Mock <ICartIdentifier> cartIdentifierMock = new Mock <ICartIdentifier>(); Mock <ICoffee> coffeeMock = new Mock <ICoffee>(); Mock <HttpContextBase> httpContextBaseMock = new Mock <HttpContextBase>(); var id = Guid.NewGuid().ToString(); cartIdentifierMock.Setup(m => m.GetCardId(It.IsAny <HttpContextBase>())).Returns(id); shoppingCartMock.Setup(m => m.GetShoppingCart(It.IsAny <string>())).Returns(shoppingCartMock.Object); ShoppingCartController shoppingCartController = new ShoppingCartController(shoppingCartMock.Object, cartIdentifierMock.Object); shoppingCartController.TempData["Order"] = coffeeMock.Object; //Act RedirectToRouteResult redirectResult = (RedirectToRouteResult)shoppingCartController.AddToCart(); // Assert //Assert.That(redirectResult.RouteValues["controller"], Is.EqualTo("ShoppingCart")); Assert.That(redirectResult.RouteValues["action"], Is.EqualTo("Index")); }