Example #1
0
        public async Task <IActionResult> UpdateItem(Dictionary <int, int> items)
        {
            if (items == null)
            {
                return(RedirectToAction("Index", "Products"));
            }

            BasketIndexViewModel basketViewModel = await GetCurrentUserBasket();

            BasketUpdateResponse response = await _basketService.UpdateBasketItem(basketViewModel.Id, items);

            return(RedirectToAction("Index"));
        }
Example #2
0
        public async Task <BasketUpdateResponse> UpdateBasketItem(int basketid, Dictionary <int, int> quantities)
        {
            BasketApiClient      client   = new BasketApiClient(_config.APIBaseUrl);
            BasketUpdateResponse response =
                await client.BasketService.UpdateBasketItem(
                    basketid,
                    new BasketUpdateItemsRequest()
            {
                Items = quantities.Select(q =>
                                          new BasketUpdateItem()
                {
                    ProductId = q.Key,
                    Quantity  = q.Value
                }).ToList()
            });

            return(response);
        }
Example #3
0
        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);
        }