public async Task ValidateAsync_LimitLessThanTwoOrMoreThanTwenty_ReturnIsValidFalseAsync(int limit)
        {
            var validIngredient = "wheat";
            var query           = new GetProductsQueryResource
            {
                Ingredient = validIngredient,
                Limit      = limit
            };

            var result = await _validator.ValidateAsync(query);

            Assert.False(result.IsValid);
        }
        public async Task ValidateAsync_StringNullOrEmpty_ReturnIsValidFalseAsync(string ingredient)
        {
            var validLimit = 20;
            var query      = new GetProductsQueryResource
            {
                Ingredient = ingredient,
                Limit      = validLimit
            };

            var result = await _validator.ValidateAsync(query);

            Assert.False(result.IsValid);
        }
        public async Task <ActionResult <IEnumerable <ProductResource> > > GetProducts([FromQuery] GetProductsQueryResource queryParams)
        {
            var products = await _service.GetProductsByIngredient(queryParams.Ingredient, queryParams.Limit);

            var producResources = _mapper.Map <IEnumerable <ProductResource> >(products);

            return(Ok(producResources));
        }