public async void BasketItemIsAddedWhenOtherProductIsAddedToBasket() { string userId = Guid.NewGuid().ToString(); BasketModelResponse response = await client.BasketService.GetBasketForUser(userId); BasketAddItemResponse resp = await client.BasketService.AddBasketItem(response.BasketId, new BasketAddItemRequest() { Price = 10.50M, ProductId = 1, Quantity = 2 }); resp = await client.BasketService.AddBasketItem(response.BasketId, new BasketAddItemRequest() { Price = 20.00M, ProductId = 3, Quantity = 1 }); resp.Should().NotBeNull(); resp.Success.Should().Be(true); response = await client.BasketService.GetBasketForUser(userId); List <BasketModelItem> items = response.Items.ToList(); items.Count.Should().Be(2); }
public async Task <IActionResult> AddToBasket(ProductItemViewModel productDetails) { if (productDetails?.Id == null) { return(RedirectToAction("Index", "Products")); } BasketIndexViewModel basketViewModel = await GetCurrentUserBasket(); BasketAddItemResponse response = await _basketService.AddItemToBasket(basketViewModel.Id, productDetails.Id, productDetails.Price, 1); return(RedirectToAction("Index")); }
public async Task <BasketAddItemResponse> AddItemToBasket(int basketid, int productid, decimal price, int quantity) { BasketApiClient client = new BasketApiClient(_config.APIBaseUrl); BasketAddItemResponse response = await client.BasketService.AddBasketItem( basketid, new BasketAddItemRequest() { Price = price, ProductId = productid, Quantity = quantity }); return(response); }
public async void BasketItemIsUpdated() { string userId = Guid.NewGuid().ToString(); BasketModelResponse response = await client.BasketService.GetBasketForUser(userId); BasketAddItemResponse respAdd = await client.BasketService.AddBasketItem(response.BasketId, new BasketAddItemRequest() { Price = 10.50M, ProductId = 1, Quantity = 2 }); respAdd.Should().NotBeNull(); respAdd.Success.Should().Be(true); List <BasketUpdateItem> updateItems = new List <BasketUpdateItem>(); updateItems.Add(new BasketUpdateItem() { ProductId = 1, Quantity = 1 }); BasketUpdateResponse respUpd = await client.BasketService.UpdateBasketItem( response.BasketId, new BasketUpdateItemsRequest() { Items = updateItems }); respUpd.Should().NotBeNull(); respUpd.Success.Should().Be(true); response = await client.BasketService.GetBasketForUser(userId); List <BasketModelItem> items = response.Items.ToList(); items.Count.Should().Be(1); items.First().Quantity.Should().Be(1); }