public Cart CancelProduct(CartRequest request) { Cart currentCart = GetCartByUser(request.UserId); CancelItem(currentCart, request.ProductId, request.Quantity); return(currentCart); }
public async Task Cart_Add_Api_Should_Return_Updated_Cart_Response_When_Same_Cart_Request() { var firstCartRequest = new CartRequest { ProductId = 2, Quantity = 5 }; var secondCartRequest = new CartRequest { ProductId = 2, Quantity = 10 }; var firstContent = new StringContent(JsonConvert.SerializeObject(firstCartRequest), Encoding.UTF8, "application/json"); var secondContent = new StringContent(JsonConvert.SerializeObject(secondCartRequest), Encoding.UTF8, "application/json"); await _client.PostAsync("/api/cart/add", firstContent); var response = await _client.PostAsync("/api/cart/add", secondContent); var result = await response.Content.ReadAsStringAsync(); var expectedQuantity = firstCartRequest.Quantity + secondCartRequest.Quantity; var cartResponseMessage = JsonConvert.DeserializeObject <CartResponse>(result); var expectedStatusCode = HttpStatusCode.OK; var expectedCartResponseMessage = "Cart Updated"; Assert.Equal(expectedStatusCode, response.StatusCode); Assert.Equal(expectedCartResponseMessage, cartResponseMessage.Message); Assert.Equal(expectedQuantity, cartResponseMessage.AllCarts.First().Quantity); }
private void UpdateDeliveryInfo(Cart currentCart, CartRequest request) { User currentUser = GetCurrentUser(request.UserId); UpdateDeliveryAddress(currentCart, request, currentUser); UpdateDeliveryPhone(currentCart, request, currentUser); }
public async Task <IActionResult> AddAsync([FromBody] CartRequest cartRequest) { var newCart = mapper.Map <Cart>(cartRequest); var cart = await cartService.addCartAsync(newCart); return(Ok(cart)); }
/// <summary> /// Add Book into Cart /// </summary> /// <param name="userID">User-ID</param> /// <param name="cart">Cart Data</param> /// <returns>If Data Added Successfully return Response Data else null or Bad Request</returns> public async Task <CartBookResponse> AddBookIntoCart(int userID, CartRequest cart) { try { CartBookResponse responseData = null; SQLConnection(); using (SqlCommand cmd = new SqlCommand("AddBookIntoCart", conn)) { cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@UserID", userID); cmd.Parameters.AddWithValue("@BookID", cart.BookID); cmd.Parameters.AddWithValue("@IsUsed", false); conn.Open(); SqlDataReader dataReader = await cmd.ExecuteReaderAsync(); responseData = BookResponseModel(dataReader); }; return(responseData); } catch (Exception ex) { throw new Exception(ex.Message); } }
public void TestMethodCartRequestDeliveryAddress() { string ADDRESS = "test"; CartRequest request = new CartRequest(); request.DeliveryAddress = ADDRESS; Assert.AreEqual(request.DeliveryAddress, ADDRESS); }
public void TestMethodCartRequestQuantity() { int QUANTITY = 1; CartRequest request = new CartRequest(); request.Quantity = QUANTITY; Assert.AreEqual(request.Quantity, QUANTITY); }
public void TestMethodCartRequestProductId() { string PRODUCT_ID = "1"; CartRequest request = new CartRequest(); request.ProductId = PRODUCT_ID; Assert.AreEqual(request.ProductId, PRODUCT_ID); }
public async Task <CartRequest> AddCart(CartRequest cartRequest) { HttpContent httpContent = new StringContent(JsonConvert.SerializeObject(cartRequest), Encoding.UTF8, "application/json"); var response = await _httpClient.PostAsync("api/Carts", httpContent); response.EnsureSuccessStatusCode(); return(await response.Content.ReadAsAsync <CartRequest>()); }
public void TestMethodCartRequestUserId() { string USER_ID = "admin"; CartRequest request = new CartRequest(); request.UserId = USER_ID; Assert.AreEqual(request.UserId, USER_ID); }
private CartRequest GetCartRequest() { CartRequest cartRequest = new CartRequest(); cartRequest.UserId = USER_ID; cartRequest.ProductId = PRODUCT_ID; cartRequest.Quantity = 1; return(cartRequest); }
public void Cart_Service_Should_Throw_Exception_When_Quantity_Greater_Then_Product_Stock() { var cartRequest = new CartRequest { ProductId = 1, Quantity = 51 }; Assert.Throws <ProductStockExceedException>(() => _cartService.TryToAddCart(cartRequest)); }
public void Cart_Service_Should_Throw_Exception_When_Product_Not_Found() { var cartRequest = new CartRequest { ProductId = 12, Quantity = 33 }; Assert.Throws <ProductNotFoundException>(() => _cartService.TryToAddCart(cartRequest)); }
public ShoppingCart GetCart() { CartRequest request = new CartRequest(); request.RequestId = NewRequestId; request.AccessToken = AccessToken; request.ClientTag = ClientTag; request.Action = "Read"; CartResponse response = ActionServiceClient.GetCart(request); if (request.RequestId != response.CorrelationId) throw new ApplicationException("GetCart: Request and CorrelationId do not match."); return response.Cart; }
/// <summary> /// Removes a line item from the shopping cart. /// </summary> /// <param name="productId">The item to be removed.</param> /// <returns>Updated shopping cart.</returns> public ShoppingCart RemoveItem(int productId) { CartRequest request = new CartRequest(); request.RequestId = NewRequestId; request.AccessToken = AccessToken; request.ClientTag = ClientTag; request.Action = "Delete"; request.CartItem = new ShoppingCartItem { Id = productId }; CartResponse response = ActionServiceClient.SetCart(request); if (request.RequestId != response.CorrelationId) throw new ApplicationException("RemoveItem: Request and CorrelationId do not match."); return response.Cart; }
/// <summary> /// Adds an item to the shopping cart. /// </summary> /// <param name="productId">Unique product identifier or item.</param> /// <param name="name">Item name.</param> /// <param name="quantity">Quantity of items.</param> /// <param name="unitPrice">Unit price for each item.</param> /// <returns>Updated shopping cart.</returns> public ShoppingCart AddItem(int productId, string name, int quantity, double unitPrice) { CartRequest request = new CartRequest(); request.RequestId = NewRequestId; request.AccessToken = AccessToken; request.ClientTag = ClientTag; request.Action = "Create"; request.CartItem = new ShoppingCartItem { Id = productId, Name = name, Quantity = quantity, UnitPrice = unitPrice }; CartResponse response = ActionServiceClient.SetCart(request); if (request.RequestId != response.CorrelationId) throw new ApplicationException("AddItem: Request and CorrelationId do not match."); return response.Cart; }
/// <summary> /// Sets shipping method used to compute shipping charges. /// </summary> /// <param name="shippingMethod">The name of the shipper.</param> /// <returns>Updated shopping cart.</returns> public ShoppingCart SetShippingMethod(string shippingMethod) { CartRequest request = new CartRequest(); request.RequestId = NewRequestId; request.AccessToken = AccessToken; request.ClientTag = ClientTag; request.Action = "Update"; request.ShippingMethod = shippingMethod; CartResponse response = ActionServiceClient.SetCart(request); if (request.RequestId != response.CorrelationId) throw new ApplicationException("SetShippingMethod: Request and CorrelationId do not match."); return response.Cart; }