Removing BasketItemRepository and updating tests

This commit is contained in:
Eric Fleming
2019-06-15 17:07:22 -04:00
parent cfe80aa956
commit fde9a7c439
4 changed files with 6 additions and 12 deletions

View File

@@ -11,16 +11,13 @@ namespace Microsoft.eShopWeb.ApplicationCore.Services
public class BasketService : IBasketService public class BasketService : IBasketService
{ {
private readonly IAsyncRepository<Basket> _basketRepository; private readonly IAsyncRepository<Basket> _basketRepository;
private readonly IAsyncRepository<BasketItem> _basketItemRepository;
private readonly IAppLogger<BasketService> _logger; private readonly IAppLogger<BasketService> _logger;
public BasketService(IAsyncRepository<Basket> basketRepository, public BasketService(IAsyncRepository<Basket> basketRepository,
IAppLogger<BasketService> logger, IAppLogger<BasketService> logger)
IAsyncRepository<BasketItem> basketItemRepository)
{ {
_basketRepository = basketRepository; _basketRepository = basketRepository;
_logger = logger; _logger = logger;
_basketItemRepository = basketItemRepository;
} }
public async Task AddItemToBasket(int basketId, int catalogItemId, decimal price, int quantity) public async Task AddItemToBasket(int basketId, int catalogItemId, decimal price, int quantity)

View File

@@ -10,12 +10,10 @@ namespace Microsoft.eShopWeb.UnitTests.ApplicationCore.Services.BasketServiceTes
public class DeleteBasket public class DeleteBasket
{ {
private Mock<IAsyncRepository<Basket>> _mockBasketRepo; private Mock<IAsyncRepository<Basket>> _mockBasketRepo;
private Mock<IAsyncRepository<BasketItem>> _mockBasketItemRepo;
public DeleteBasket() public DeleteBasket()
{ {
_mockBasketRepo = new Mock<IAsyncRepository<Basket>>(); _mockBasketRepo = new Mock<IAsyncRepository<Basket>>();
_mockBasketItemRepo = new Mock<IAsyncRepository<BasketItem>>();
} }
[Fact] [Fact]
@@ -26,12 +24,11 @@ namespace Microsoft.eShopWeb.UnitTests.ApplicationCore.Services.BasketServiceTes
basket.AddItem(2, 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>()))
.ReturnsAsync(basket); .ReturnsAsync(basket);
var basketService = new BasketService(_mockBasketRepo.Object, null, _mockBasketItemRepo.Object); var basketService = new BasketService(_mockBasketRepo.Object, null);
await basketService.DeleteBasketAsync(It.IsAny<int>()); await basketService.DeleteBasketAsync(It.IsAny<int>());
_mockBasketRepo.Verify(x => x.DeleteAsync(It.IsAny<Basket>()), Times.Once); _mockBasketRepo.Verify(x => x.DeleteAsync(It.IsAny<Basket>()), Times.Once);
_mockBasketItemRepo.Verify(x => x.DeleteAsync(It.IsAny<BasketItem>()), Times.Exactly(2));
} }
} }
} }

View File

@@ -21,7 +21,7 @@ namespace Microsoft.eShopWeb.UnitTests.ApplicationCore.Services.BasketServiceTes
[Fact] [Fact]
public async void ThrowsGivenInvalidBasketId() public async void ThrowsGivenInvalidBasketId()
{ {
var basketService = new BasketService(_mockBasketRepo.Object, null, null); var basketService = new BasketService(_mockBasketRepo.Object, null);
await Assert.ThrowsAsync<BasketNotFoundException>(async () => await Assert.ThrowsAsync<BasketNotFoundException>(async () =>
await basketService.SetQuantities(_invalidId, new System.Collections.Generic.Dictionary<string, int>())); await basketService.SetQuantities(_invalidId, new System.Collections.Generic.Dictionary<string, int>()));
@@ -30,7 +30,7 @@ namespace Microsoft.eShopWeb.UnitTests.ApplicationCore.Services.BasketServiceTes
[Fact] [Fact]
public async void ThrowsGivenNullQuantities() public async void ThrowsGivenNullQuantities()
{ {
var basketService = new BasketService(null, null, null); var basketService = new BasketService(null, null);
await Assert.ThrowsAsync<ArgumentNullException>(async () => await Assert.ThrowsAsync<ArgumentNullException>(async () =>
await basketService.SetQuantities(123, null)); await basketService.SetQuantities(123, null));

View File

@@ -9,7 +9,7 @@ namespace Microsoft.eShopWeb.UnitTests.ApplicationCore.Services.BasketServiceTes
[Fact] [Fact]
public async void ThrowsGivenNullAnonymousId() public async void ThrowsGivenNullAnonymousId()
{ {
var basketService = new BasketService(null, null, null); var basketService = new BasketService(null, null);
await Assert.ThrowsAsync<ArgumentNullException>(async () => await basketService.TransferBasketAsync(null, "steve")); await Assert.ThrowsAsync<ArgumentNullException>(async () => await basketService.TransferBasketAsync(null, "steve"));
} }
@@ -17,7 +17,7 @@ namespace Microsoft.eShopWeb.UnitTests.ApplicationCore.Services.BasketServiceTes
[Fact] [Fact]
public async void ThrowsGivenNullUserId() public async void ThrowsGivenNullUserId()
{ {
var basketService = new BasketService(null, null, null); var basketService = new BasketService(null, null);
await Assert.ThrowsAsync<ArgumentNullException>(async () => await basketService.TransferBasketAsync("abcdefg", null)); await Assert.ThrowsAsync<ArgumentNullException>(async () => await basketService.TransferBasketAsync("abcdefg", null));
} }