public async Task GetProductsFromDBByFilterAsync_ZeroPage_Exception(int page, int categoryId = 0)
        => await WithDBContextAsync(async (context) =>
        {
            //Arrange
            var service = new ProductService(context);

            //Act
            Func <Task> act = () => service.GetProductsFromDBByFilterAsync(page, categoryId);

            //Assert
            var exception = await Assert.ThrowsAsync <ArgumentException>(act);
            Assert.Equal($"Invalid parameters. page: {page}, categoryId: {categoryId}", exception.Message);
        });
        public async Task GetProductsFromDBByFilterAsync_Success(int page, int count, int categoryId = 0)
        => await WithDBContextAsync(async (context) =>
        {
            //Arrange
            var service = new ProductService(context);

            //Act
            var result = await service.GetProductsFromDBByFilterAsync(page, categoryId);

            //Assert
            Assert.Equal(count, result.Count);
            if (categoryId != 0)
            {
                for (int i = 0; i < result.Count; i++)
                {
                    Assert.Contains(result[i].ProductCategory, pc => pc.Category_Id == categoryId);
                }
            }
        });