public async Task EditAsyncShouldEditProductSuccessfully()
        {
            var product = new Product
            {
                Id          = "1234",
                Name        = "Pollo",
                Description = "Pollo might be your choice when you are in the mood for something healthy. Tender grilled chicken, creamy feta, roasted red peppers and corn are generously piled on top of our famous tomato sauce.",
                Price       = 10.90m,
                Weight      = 550,
                Image       = "http://www.ilforno.bg/45-large_default/polo.jpg",
                Category    = new Category
                {
                    Id   = 1,
                    Name = "Traditional"
                },
                Ingredients = new List <ProductsIngredients>
                {
                    new ProductsIngredients
                    {
                        IngredientId = 1,
                        Ingredient   = new Ingredient
                        {
                            Name = "ham"
                        }
                    }
                },
                Reviews = new List <Review>(),
                Likes   = new List <UsersLikes>()
            };

            await this._productsRepository.AddAsync(product);

            await this._productsRepository.SaveChangesAsync();

            _dbContext.Entry(product).State = EntityState.Detached;

            var productDto = new ProductDto
            {
                Id          = "1234",
                Name        = "Diablo2",
                Description = "Pizza diavola means the devils pizza and is quite a spicy little devil and one of my favourite pizzas.",
                Price       = 9.90m,
                Weight      = 400,
                Image       = "http://images.pizza33.ua/products/product/yQfkJqZweoLn9omo68oz5BnaGzaIE0UJ.jpg"
            };

            await _productsService.EditAsync(productDto);

            var editedProduct = _productsRepository.All().AsNoTracking().First();

            Assert.Equal("Diablo2", editedProduct.Name);
            Assert.Equal("Pizza diavola means the devils pizza and is quite a spicy little devil and one of my favourite pizzas.", editedProduct.Description);
            Assert.Equal(9.90m, editedProduct.Price);
            Assert.Equal(400, editedProduct.Weight);
            Assert.Equal("http://images.pizza33.ua/products/product/yQfkJqZweoLn9omo68oz5BnaGzaIE0UJ.jpg", editedProduct.Image);
        }