Пример #1
0
        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);
        }
Пример #2
0
        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"));
        }
Пример #3
0
        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);
        }
Пример #4
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);
        }