protected async Task UpdateItemInBasketToZeroQuantityAndAssert(BasketItemsRepository repository)
        {
            await repository.UpdateItem(UserId, new BasketItem(1, 1));

            var updateResult = await repository.UpdateItem(UserId, new BasketItem(1, 0));

            updateResult.IsSuccessful.Should().Be(true);
            updateResult.ErrorMessage.Should().BeEmpty();

            var getResult = await repository.GetBasketItems(UserId);

            getResult.IsSuccessful.Should().Be(true);
            getResult.ErrorMessage.Should().BeEmpty();
            getResult.Item.Count().Should().Be(0);
        }
        protected async Task UpdateItemNotInBasketAndAssert(BasketItemsRepository repository)
        {
            var updateResult = await repository.UpdateItem(UserId, new BasketItem(1, 2));

            updateResult.IsSuccessful.Should().Be(true);
            updateResult.ErrorMessage.Should().BeEmpty();

            var getResult = await repository.GetBasketItems(UserId);

            getResult.IsSuccessful.Should().Be(true);
            getResult.ErrorMessage.Should().BeEmpty();
            getResult.Item.Count().Should().Be(1);
            getResult.Item.ElementAt(0).ItemId.Should().Be(1);
            getResult.Item.ElementAt(0).Quantity.Should().Be(2);
        }