public async void Color_Create_length()
        {
            Mock <IProductRepository> productRepository = new Mock <IProductRepository>();

            productRepository.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult(new Product()));

            var validator = new ApiProductRequestModelValidator(productRepository.Object);
            await validator.ValidateCreateAsync(new ApiProductRequestModel());

            validator.ShouldHaveValidationErrorFor(x => x.Color, new string('A', 16));
        }
        public async void Name_Create_null()
        {
            Mock <IProductRepository> productRepository = new Mock <IProductRepository>();

            productRepository.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult(new Product()));

            var validator = new ApiProductRequestModelValidator(productRepository.Object);
            await validator.ValidateCreateAsync(new ApiProductRequestModel());

            validator.ShouldHaveValidationErrorFor(x => x.Name, null as string);
        }
        private async void BeUniqueByName_Create_Not_Exists()
        {
            Mock <IProductRepository> productRepository = new Mock <IProductRepository>();

            productRepository.Setup(x => x.ByName(It.IsAny <string>())).Returns(Task.FromResult <Product>(null));
            var validator = new ApiProductRequestModelValidator(productRepository.Object);

            await validator.ValidateCreateAsync(new ApiProductRequestModel());

            validator.ShouldNotHaveValidationErrorFor(x => x.Name, "A");
        }