Use cancellation token in repository and web fie system (http call can cancelled) (#471)
Co-authored-by: cmichel <cmichel@interparking.com>
This commit is contained in:
@@ -23,13 +23,13 @@ namespace Microsoft.eShopWeb.UnitTests.ApplicationCore.Services.BasketServiceTes
|
||||
{
|
||||
var basket = new Basket(_buyerId);
|
||||
basket.AddItem(1, It.IsAny<decimal>(), It.IsAny<int>());
|
||||
_mockBasketRepo.Setup(x => x.FirstOrDefaultAsync(It.IsAny<BasketWithItemsSpecification>())).ReturnsAsync(basket);
|
||||
_mockBasketRepo.Setup(x => x.FirstOrDefaultAsync(It.IsAny<BasketWithItemsSpecification>(), default)).ReturnsAsync(basket);
|
||||
|
||||
var basketService = new BasketService(_mockBasketRepo.Object, null);
|
||||
|
||||
await basketService.AddItemToBasket(basket.Id, 1, 1.50m);
|
||||
|
||||
_mockBasketRepo.Verify(x => x.FirstOrDefaultAsync(It.IsAny<BasketWithItemsSpecification>()), Times.Once);
|
||||
_mockBasketRepo.Verify(x => x.FirstOrDefaultAsync(It.IsAny<BasketWithItemsSpecification>(),default), Times.Once);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -37,13 +37,13 @@ namespace Microsoft.eShopWeb.UnitTests.ApplicationCore.Services.BasketServiceTes
|
||||
{
|
||||
var basket = new Basket(_buyerId);
|
||||
basket.AddItem(1, It.IsAny<decimal>(), It.IsAny<int>());
|
||||
_mockBasketRepo.Setup(x => x.FirstOrDefaultAsync(It.IsAny<BasketWithItemsSpecification>())).ReturnsAsync(basket);
|
||||
_mockBasketRepo.Setup(x => x.FirstOrDefaultAsync(It.IsAny<BasketWithItemsSpecification>(),default)).ReturnsAsync(basket);
|
||||
|
||||
var basketService = new BasketService(_mockBasketRepo.Object, null);
|
||||
|
||||
await basketService.AddItemToBasket(basket.Id, 1, 1.50m);
|
||||
|
||||
_mockBasketRepo.Verify(x => x.UpdateAsync(basket), Times.Once);
|
||||
_mockBasketRepo.Verify(x => x.UpdateAsync(basket,default), Times.Once);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,13 +23,13 @@ namespace Microsoft.eShopWeb.UnitTests.ApplicationCore.Services.BasketServiceTes
|
||||
var basket = new Basket(_buyerId);
|
||||
basket.AddItem(1, It.IsAny<decimal>(), It.IsAny<int>());
|
||||
basket.AddItem(2, It.IsAny<decimal>(), It.IsAny<int>());
|
||||
_mockBasketRepo.Setup(x => x.GetByIdAsync(It.IsAny<int>()))
|
||||
_mockBasketRepo.Setup(x => x.GetByIdAsync(It.IsAny<int>(),default))
|
||||
.ReturnsAsync(basket);
|
||||
var basketService = new BasketService(_mockBasketRepo.Object, null);
|
||||
|
||||
await basketService.DeleteBasketAsync(It.IsAny<int>());
|
||||
|
||||
_mockBasketRepo.Verify(x => x.DeleteAsync(It.IsAny<Basket>()), Times.Once);
|
||||
_mockBasketRepo.Verify(x => x.DeleteAsync(It.IsAny<Basket>(),default), Times.Once);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
using Ardalis.Specification;
|
||||
using Microsoft.eShopWeb.ApplicationCore.Entities.BasketAggregate;
|
||||
using Microsoft.eShopWeb.ApplicationCore.Entities.BasketAggregate;
|
||||
using Microsoft.eShopWeb.ApplicationCore.Interfaces;
|
||||
using Microsoft.eShopWeb.ApplicationCore.Services;
|
||||
using Microsoft.eShopWeb.ApplicationCore.Specifications;
|
||||
using Moq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Xunit;
|
||||
|
||||
@@ -46,12 +43,12 @@ namespace Microsoft.eShopWeb.UnitTests.ApplicationCore.Services.BasketServiceTes
|
||||
{
|
||||
var anonymousBasket = null as Basket;
|
||||
var userBasket = new Basket(_existentUserBasketBuyerId);
|
||||
_mockBasketRepo.SetupSequence(x => x.FirstOrDefaultAsync(It.IsAny<BasketWithItemsSpecification>()))
|
||||
_mockBasketRepo.SetupSequence(x => x.FirstOrDefaultAsync(It.IsAny<BasketWithItemsSpecification>(), default))
|
||||
.ReturnsAsync(anonymousBasket)
|
||||
.ReturnsAsync(userBasket);
|
||||
var basketService = new BasketService(_mockBasketRepo.Object, null);
|
||||
await basketService.TransferBasketAsync(_nonexistentAnonymousBasketBuyerId, _existentUserBasketBuyerId);
|
||||
_mockBasketRepo.Verify(x => x.FirstOrDefaultAsync(It.IsAny<BasketWithItemsSpecification>()), Times.Once);
|
||||
_mockBasketRepo.Verify(x => x.FirstOrDefaultAsync(It.IsAny<BasketWithItemsSpecification>(), default), Times.Once);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -63,12 +60,12 @@ namespace Microsoft.eShopWeb.UnitTests.ApplicationCore.Services.BasketServiceTes
|
||||
var userBasket = new Basket(_existentUserBasketBuyerId);
|
||||
userBasket.AddItem(1, 10, 4);
|
||||
userBasket.AddItem(2, 99, 3);
|
||||
_mockBasketRepo.SetupSequence(x => x.FirstOrDefaultAsync(It.IsAny<BasketWithItemsSpecification>()))
|
||||
_mockBasketRepo.SetupSequence(x => x.FirstOrDefaultAsync(It.IsAny<BasketWithItemsSpecification>(), default))
|
||||
.ReturnsAsync(anonymousBasket)
|
||||
.ReturnsAsync(userBasket);
|
||||
var basketService = new BasketService(_mockBasketRepo.Object, null);
|
||||
await basketService.TransferBasketAsync(_nonexistentAnonymousBasketBuyerId, _existentUserBasketBuyerId);
|
||||
_mockBasketRepo.Verify(x => x.UpdateAsync(userBasket), Times.Once);
|
||||
_mockBasketRepo.Verify(x => x.UpdateAsync(userBasket, default), Times.Once);
|
||||
Assert.Equal(3, userBasket.Items.Count);
|
||||
Assert.Contains(userBasket.Items, x => x.CatalogItemId == 1 && x.UnitPrice == 10 && x.Quantity == 5);
|
||||
Assert.Contains(userBasket.Items, x => x.CatalogItemId == 2 && x.UnitPrice == 99 && x.Quantity == 3);
|
||||
@@ -80,13 +77,13 @@ namespace Microsoft.eShopWeb.UnitTests.ApplicationCore.Services.BasketServiceTes
|
||||
{
|
||||
var anonymousBasket = new Basket(_existentAnonymousBasketBuyerId);
|
||||
var userBasket = new Basket(_existentUserBasketBuyerId);
|
||||
_mockBasketRepo.SetupSequence(x => x.FirstOrDefaultAsync(It.IsAny<BasketWithItemsSpecification>()))
|
||||
_mockBasketRepo.SetupSequence(x => x.FirstOrDefaultAsync(It.IsAny<BasketWithItemsSpecification>(), default))
|
||||
.ReturnsAsync(anonymousBasket)
|
||||
.ReturnsAsync(userBasket);
|
||||
var basketService = new BasketService(_mockBasketRepo.Object, null);
|
||||
await basketService.TransferBasketAsync(_nonexistentAnonymousBasketBuyerId, _existentUserBasketBuyerId);
|
||||
_mockBasketRepo.Verify(x => x.UpdateAsync(userBasket), Times.Once);
|
||||
_mockBasketRepo.Verify(x => x.DeleteAsync(anonymousBasket), Times.Once);
|
||||
_mockBasketRepo.Verify(x => x.UpdateAsync(userBasket, default), Times.Once);
|
||||
_mockBasketRepo.Verify(x => x.DeleteAsync(anonymousBasket, default), Times.Once);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -94,12 +91,12 @@ namespace Microsoft.eShopWeb.UnitTests.ApplicationCore.Services.BasketServiceTes
|
||||
{
|
||||
var anonymousBasket = new Basket(_existentAnonymousBasketBuyerId);
|
||||
var userBasket = null as Basket;
|
||||
_mockBasketRepo.SetupSequence(x => x.FirstOrDefaultAsync(It.IsAny<BasketWithItemsSpecification>()))
|
||||
_mockBasketRepo.SetupSequence(x => x.FirstOrDefaultAsync(It.IsAny<BasketWithItemsSpecification>(), default))
|
||||
.ReturnsAsync(anonymousBasket)
|
||||
.ReturnsAsync(userBasket);
|
||||
var basketService = new BasketService(_mockBasketRepo.Object, null);
|
||||
await basketService.TransferBasketAsync(_existentAnonymousBasketBuyerId, _nonexistentUserBasketBuyerId);
|
||||
_mockBasketRepo.Verify(x => x.AddAsync(It.Is<Basket>(x => x.BuyerId == _nonexistentUserBasketBuyerId)), Times.Once);
|
||||
_mockBasketRepo.Verify(x => x.AddAsync(It.Is<Basket>(x => x.BuyerId == _nonexistentUserBasketBuyerId), default), Times.Once);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user