public void Add_RedirectsToActionIndexInStore() { var actionResult = _controller.Add(_cart, 1) as RedirectToActionResult; Assert.Equal("Index", actionResult?.ActionName); Assert.Equal("Store", actionResult?.ControllerName); }
public void Add_Successful_RedirectsToActionIndexOfStore() { var result = _controller.Add(4, 2, _cart) as RedirectToActionResult; Assert.Equal("Index", result?.ActionName); Assert.Equal("Store", result?.ControllerName); }
public void AddShouldRedirectToActionIndexOfStoreWhenSuccessfull() { RedirectToActionResult result = _controller.Add(4, 2, _cart) as RedirectToActionResult; Assert.Equal("Index", result?.ActionName); Assert.Equal("Store", result?.ControllerName); }
protected void addToCartButton_Click(object sender, EventArgs e) { int id = Int32.Parse(Request.QueryString["id"]), Quantity = 0; string messageError = ""; messageError = CartController.Add(addToCartQuantityTxt.Text, id); if (messageError != "") { labelErrorAddToCart.Text = messageError; } else { User user = (User)Session[Constant.Keys.AUTH]; Quantity = int.Parse(addToCartQuantityTxt.Text); Product product = ProductHandler.get(id); if (CartHandler.get(user.ID, product.ID) != null) { CartHandler.updateQuantity(user.ID, id, Quantity); } else { CartInformation currentProduct = new CartInformation(); currentProduct.ID = product.ID; currentProduct.Name = product.Name; currentProduct.Price = product.Price; currentProduct.Quantity = Quantity; currentProduct.SubTotal = currentProduct.Quantity * currentProduct.Price; CartHandler.add(user.ID, id, Quantity); } var redirecTo = Constant.Routes.VIEW_CART_ROUTE; Response.Redirect(redirecTo); } }
public void ShoulReturnInternalServerErrorWhenAddingWithException() { // Arrange var controller = new CartController( new StubIShoppingCartRepository { SaveShoppingCartShoppingCart = cart => { throw new Exception("error"); } }, new StubIProductRepository { ProductExistsInt32 = productId => productId.Equals(1) }); SetupControllerForTests(controller); // Act var response = controller.Add(new CartItem { ProductId = 1, ProductName = "name", ProductPrice = 1m, Quantity = 1 }); var error = JsonConvert.DeserializeAnonymousType(response.Content.ReadAsStringAsync().Result, new { Message = string.Empty }); // Assert Assert.AreEqual(HttpStatusCode.InternalServerError, response.StatusCode); Assert.AreEqual("error", error.Message); }
public void ShoulReturnBadRequestWhenAddInvalidItemModel() { // Arrange var controller = new CartController( new StubIShoppingCartRepository(), new StubIProductRepository { ProductExistsInt32 = productId => productId.Equals(1) }); SetupControllerForTests(controller); // Act var response = controller.Add(new CartItem { ProductId = 1, ProductName = string.Empty, // invalid product name ProductPrice = 9.99m, Quantity = 1 }); var error = JsonConvert.DeserializeAnonymousType(response.Content.ReadAsStringAsync().Result, new { Message = string.Empty }); // Assert Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode); Assert.AreEqual("The ProductName field is required.", error.Message); }
public IEnumerable <Models.ShoppingBasketItem> Put(Guid shoppingBasketId, int productId, int newQuantity) { HttpContext.Current.Request.Cookies.Add(new HttpCookie("ShoppingCartId", shoppingBasketId.ToString("D"))); var currentQuantity = _legacyController.Model.Items.FirstOrDefault(i => i.Product.Id == productId)?.Quantity ?? 0; if (currentQuantity != newQuantity) { if (newQuantity < currentQuantity) { for (int iteration = 0; iteration < (currentQuantity - newQuantity); iteration++) { _legacyController.Remove(productId); } } else { for (int iteration = 0; iteration < (newQuantity - currentQuantity); iteration++) { _legacyController.Add(productId); } } } return(Get(shoppingBasketId)); }
public void Add_Successful_RedirectsToActionIndexOfStoreAndAddsProductToCart() { var result = Assert.IsType <RedirectToActionResult>(_controller.Add(4, 2, _cart)); Assert.Equal("Index", result.ActionName); Assert.Equal("Store", result.ControllerName); Assert.Equal(2, _cart.NumberOfItems); }
public void Add_RedirectsToActionIndexInStoreAndAddsProductToCart() { _beerRepository.Setup(b => b.GetBy(1)).Returns(_context.BavikPils); var actionResult = Assert.IsType <RedirectToActionResult>(_controller.Add(_cart, 1, 4)); Assert.Equal("Index", actionResult.ActionName); Assert.Equal("Store", actionResult.ControllerName); Assert.Equal(2, _cart.NumberOfItems); }
public void AddExistingProduct() { //arrange CartController cartController = new CartController(Mocks.GetProductRepository()); //act IActionResult result = cartController.Add(1, Mocks.GetCart(), "returnUrl"); //assert Assert.AreEqual(typeof(RedirectToActionResult), result.GetType()); }
public void AddUnexistingProduct() { //arrange CartController cartController = new CartController(Mocks.GetProductRepository()); //act IActionResult result = cartController.Add(55, Mocks.GetCart(), "returnUrl"); //assert Assert.AreEqual(typeof(ViewResult), result.GetType()); ViewResult viewResult = (ViewResult)result; Assert.AreEqual("Error", viewResult.ViewName); }
public void ShoulReturnBadRequestWhenAddNullModel() { // Arrange var controller = new CartController(null, null); SetupControllerForTests(controller); // Act var response = controller.Add(null); var error = JsonConvert.DeserializeAnonymousType(response.Content.ReadAsStringAsync().Result, new { Message = string.Empty }); // Assert Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode); }
public void WhenAddingToCartAndSkuCouldNotBeFoundThenExceptionIsReturnedInMessage() { var testContext = new TestContext(); var inMemoryCollection = new CartsCollection(); var controller = new CartController(null, inMemoryCollection, testContext.CartFactory, testContext.PriceList, new NeutralPipeline()); var response = controller.Add("001", "A", null); Assert.NotNull(response); Assert.Equal(CartOperationStatus.Error, response.Status); Assert.NotNull(response.Exception); Assert.Null(response.Body); }
public void WhenAddingToNonExistingCartThenExceptionIsReturnedInMessage() { var testContext = new TestContext(); var sku = testContext.CreateNewSku("A", 100); var inMemoryCollection = new CartsCollection(); var controller = new CartController(null, inMemoryCollection, testContext.CartFactory, testContext.PriceList, new NeutralPipeline()); var response = controller.Add("001", sku.Id, null); Assert.NotNull(response); Assert.Equal(CartOperationStatus.Error, response.Status); Assert.NotNull(response.Exception); Assert.Null(response.Body); }
public void Adding_Product_To_Cart_Goes_To_Cart_Screen() { Mock <IProductsRepository> mock = new Mock <IProductsRepository>(); mock.Setup(m => m.Products).Returns(new Product[] { new Product { ProductID = 1, Name = "P1", Price = 100m, Category = "Apples" } }.AsQueryable()); Cart cart = new Cart(); CartController controller = new CartController(mock.Object, null); RedirectToRouteResult result = controller.Add(cart, 2, "myUrl"); Assert.AreEqual("Index", result.RouteValues["action"]); Assert.AreEqual("myUrl", result.RouteValues["returnUrl"]); }
public void Can_Add_To_Cart() { Mock <IProductsRepository> mock = new Mock <IProductsRepository>(); mock.Setup(m => m.Products).Returns(new Product[] { new Product { ProductID = 1, Name = "P1", Price = 100m, Category = "Apples" } }.AsQueryable()); Cart cart = new Cart(); CartController controller = new CartController(mock.Object, null); controller.Add(cart, 1, null); Assert.AreEqual(1, cart.Items.Count()); Assert.AreEqual(1, cart.Items.ToArray()[0].Product.ProductID); }
public void WhenAddingToCheckedOutCartThenExceptionIsReturnedInMessage() { var testContext = new TestContext(); var sku = testContext.CreateNewSku("A", 100); var inMemoryCollection = new CartsCollection(); var cartEntry = new CartsCollection.CartsCollectionEntry( new CartInfo(), testContext.CartFactory.Create()); cartEntry.Info.CheckedOut = true; inMemoryCollection.Add(cartEntry); var controller = new CartController(null, inMemoryCollection, testContext.CartFactory, testContext.PriceList, new NeutralPipeline()); var response = controller.Add(cartEntry.Id, sku.Id, null); Assert.NotNull(response); Assert.Equal(CartOperationStatus.Error, response.Status); Assert.NotNull(response.Exception); Assert.Null(response.Body); }
public void WhenAddingToCartThenCartIsUpdatedInCollection() { var testContext = new TestContext(); var sku = testContext.CreateNewSku("A", 100); var inMemoryCollection = new CartsCollection(); var cartEntry = new CartsCollection.CartsCollectionEntry( new CartInfo(), testContext.CartFactory.Create()); inMemoryCollection.Add(cartEntry); Assert.Empty(cartEntry.Cart); var controller = new CartController(null, inMemoryCollection, testContext.CartFactory, testContext.PriceList, new NeutralPipeline()); var response = controller.Add(cartEntry.Id, sku.Id, null); Assert.NotNull(response); Assert.Equal(CartOperationStatus.Successful, response.Status); Assert.NotNull(response.Body); Assert.NotEmpty(cartEntry.Cart); }
public void ShouldAddAnItemToANewCart() { // Arrange var targetShoppingCartSaved = false; var cartRepository = new StubIShoppingCartRepository { SaveShoppingCartShoppingCart = (cart) => { targetShoppingCartSaved = true; return(cart); } }; var productRepository = new StubIProductRepository { ProductExistsInt32 = productId => productId.Equals(1) }; var controller = new CartController(cartRepository, productRepository); SetupControllerForTests(controller); // Act var result = controller.Add(new CartItem { ProductId = 1, ProductName = "Test Product", ProductPrice = 9.99m, Quantity = 1 }); // Assert Assert.IsTrue(targetShoppingCartSaved); Assert.AreEqual(result.StatusCode, HttpStatusCode.Created); }
public static String[] Add(String productID, String userID) { String[] message = controller.Add(Int32.Parse(productID), Int32.Parse(userID), 1); return(message); }