public async Task When_Error_Get_Total_Shopping_Of_Product(string id) { //Arrange var loggerMock = new Mock <ILogger <MovementService> >(); Mock <IGenericRepository <Movement> > repositoryMovementMock = new MockMovementRepository().Queryable(); Mock <IGenericRepository <Product> > repositoryProductMock = new MockProductRepository() .GetProductByIdAsync() .UpdateProductAsync() .Queryable(); var mockUnitOfWork = new MockUnitOfWork().MovementRepository(repositoryMovementMock) .ProductRepository(repositoryProductMock) .SaveChangesAsync(); var movementService = new MovementService(mockUnitOfWork.Object, loggerMock.Object); Exception exception = null; //Act try { await movementService.GetTotalShoppingProduct(Guid.Parse(id)); } catch (Exception ex) { exception = ex; } //Assert Assert.True("The product is out of stock and purchases" == exception.Message); Assert.True(typeof(BusinessException) == exception.GetType()); }
public async Task When_Get_Total_Shopping_Of_Product(string id) { //Arrange var loggerMock = new Mock <ILogger <MovementService> >(); Mock <IGenericRepository <Movement> > repositoryMovementMock = new MockMovementRepository().Queryable(); Mock <IGenericRepository <Product> > repositoryProductMock = new MockProductRepository() .GetProductByIdAsync() .UpdateProductAsync() .Queryable(); var mockUnitOfWork = new MockUnitOfWork().MovementRepository(repositoryMovementMock) .ProductRepository(repositoryProductMock) .SaveChangesAsync(); var movementService = new MovementService(mockUnitOfWork.Object, loggerMock.Object); //Act var result = await movementService.GetTotalShoppingProduct(Guid.Parse(id)); //Assert Assert.NotNull(result); Assert.True(result.ShoppingQuantity.Equals(27)); Assert.True(result.TotalPriceShopping.Equals(7283.70M)); }