public async Task ChangeQuantityoftheBasketItemAsync_ShouldThrowfQuantityisLessThanOne()
        {
            var inMemoryBasketRepo = new InMemoryBasketRepository(_mockBasketLogger.Object);
            var basketService      = new BasketService(inMemoryBasketRepo, _catalogService, _mockServiceLogger.Object);

            await Assert.ThrowsAsync <ArgumentException>(() =>
                                                         basketService.ChangeQuantityoftheBasketItemAsync(_testItemId1, 0, _testUserId1));
        }
        public async Task ChangeQuantityoftheBasketShouldReturnNullIfNoItemIsPresentInBasket()
        {
            var inMemoryBasketRepo = new InMemoryBasketRepository(_mockBasketLogger.Object);
            var basketService      = new BasketService(inMemoryBasketRepo, _catalogService, _mockServiceLogger.Object);
            var result             =
                await basketService.ChangeQuantityoftheBasketItemAsync(_testItemId1, _testQuantity1, _testUserId1);

            result.ShouldBeNull();
        }
        public async Task ChangeQuantityoftheBasketShouldSaveNewQuantityIfItemIsPresentInBasket()
        {
            var inMemoryBasketRepo = new InMemoryBasketRepository(_mockBasketLogger.Object);
            var basketService      =
                new BasketService(inMemoryBasketRepo, _catalogService, _mockServiceLogger.Object);
            var basket = await basketService.GetOrCreateBasketforUserAsync(_testUserId1);

            var updatedBasket =
                await basketService.ChangeQuantityoftheBasketItemAsync(_testItemId1, _testQuantity1, _testUserId1);

            updatedBasket.ShouldBeNull();

            basket.AddItem(_testItemId1, 1, 1, null);

            updatedBasket =
                await basketService.ChangeQuantityoftheBasketItemAsync(_testItemId1, _testQuantity1, _testUserId1);

            updatedBasket.Items.First().Quantity.ShouldBe(_testQuantity1);
        }