Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
        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));
        }