public async Task <int> GenerateItemsAsync(int count)
        {
            int generatedCount = 0;
            int failedAttempts = 0;

            var productGenerator = new RandomProductGenerator(HostingEnvironment.ContentRootPath + "\\TestImages");

            while (generatedCount < count && failedAttempts < 3)
            {
                var productsEnumerable = productGenerator.GetRandomProducts(count - generatedCount);
                var productList        = productsEnumerable.ToList();

                await CreateOrUpdateRelatedDataAsync(productList);

                foreach (var product in productList)
                {
                    var catIds = product.ProductToCategory.Select(x => x.Category.Id);
                    var result = await ShopManager.CreateProductAsync(product, product.Images, catIds, product.Descriptions);

                    if (!result.Succeeded)
                    {
                        failedAttempts++;
                    }
                    else
                    {
                        generatedCount++;
                    }
                }
            }

            return(generatedCount);
        }
        public void GeneratesProducts()
        {
            //arrange
            var prodGen  = new RandomProductGenerator(imagesPath);
            var genCount = 3;

            //act
            var prods = prodGen.GetRandomProducts(genCount);

            Assert.True(prods.Count() == genCount);
        }