diff --git a/tests/unit/data/validators/models/FakedValidationModel.php b/tests/unit/data/validators/models/FakedValidationModel.php index f935795a70..92a31e794b 100644 --- a/tests/unit/data/validators/models/FakedValidationModel.php +++ b/tests/unit/data/validators/models/FakedValidationModel.php @@ -30,8 +30,8 @@ class FakedValidationModel extends Model return [ [['val_attr_a', 'val_attr_b'], 'required', 'on' => 'reqTest'], ['val_attr_c', 'integer'], - ['attr_images', 'file', 'maxFiles' => 3, 'types' => ['png'], 'on' => 'validateMultipleFiles'], - ['attr_image', 'file', 'types' => ['png'], 'on' => 'validateFile'] + ['attr_images', 'file', 'maxFiles' => 3, 'types' => ['png'], 'on' => 'validateMultipleFiles'], + ['attr_image', 'file', 'types' => ['png'], 'on' => 'validateFile'] ]; } diff --git a/tests/unit/framework/validators/FileValidatorTest.php b/tests/unit/framework/validators/FileValidatorTest.php index 1159da29de..b6ba11cacd 100644 --- a/tests/unit/framework/validators/FileValidatorTest.php +++ b/tests/unit/framework/validators/FileValidatorTest.php @@ -107,68 +107,68 @@ class FileValidatorTest extends TestCase $val->validateAttribute($m, 'attr_files'); $this->assertTrue($m->hasErrors()); $this->assertTrue(stripos(current($m->getErrors('attr_files')), 'you can upload at most') !== false); + $m = FakedValidationModel::createWithAttributes( + [ + 'attr_images' => $this->createTestFiles( + [ + [ + 'name' => 'image.png', + 'size' => 1024, + 'type' => 'image/png' + ], + [ + 'name' => 'image.png', + 'size' => 1024, + 'type' => 'image/png' + ], + [ + 'name' => 'text.txt', + 'size' => 1024 + ], + ] + ) + ] + ); + $m->setScenario('validateMultipleFiles'); + $this->assertFalse($m->validate()); + $this->assertTrue(stripos(current($m->getErrors('attr_images')), + 'Only files with these extensions are allowed') !== false); - $m = FakedValidationModel::createWithAttributes( - [ - 'attr_images' => $this->createTestFiles( - [ - [ - 'name' => 'image.png', - 'size' => 1024, - 'type' => 'image/png' - ], - [ - 'name' => 'image.png', - 'size' => 1024, - 'type' => 'image/png' - ], - [ - 'name' => 'text.txt', - 'size' => 1024 - ], - ] - ) - ] - ); - $m->setScenario('validateMultipleFiles'); - $this->assertFalse($m->validate()); - $this->assertTrue(stripos(current($m->getErrors('attr_images')), 'Only files with these extensions are allowed') !== false); - - $m = FakedValidationModel::createWithAttributes( - [ - 'attr_images' => $this->createTestFiles( - [ - [ - 'name' => 'image.png', - 'size' => 1024, - 'type' => 'image/png' - ], - [ - 'name' => 'image.png', - 'size' => 1024, - 'type' => 'image/png' - ], - ] - ) - ] - ); - $m->setScenario('validateMultipleFiles'); - $this->assertTrue($m->validate()); - - $m = FakedValidationModel::createWithAttributes( - [ - 'attr_image' => $this->createTestFiles( - [ - [ - 'name' => 'text.txt', - 'size' => 1024, - ], - ] - ) - ] - ); - $m->setScenario('validateFile'); - $this->assertFalse($m->validate()); + $m = FakedValidationModel::createWithAttributes( + [ + 'attr_images' => $this->createTestFiles( + [ + [ + 'name' => 'image.png', + 'size' => 1024, + 'type' => 'image/png' + ], + [ + 'name' => 'image.png', + 'size' => 1024, + 'type' => 'image/png' + ], + ] + ) + ] + ); + $m->setScenario('validateMultipleFiles'); + $this->assertTrue($m->validate()); + + $m = FakedValidationModel::createWithAttributes( + [ + 'attr_image' => $this->createTestFiles( + [ + [ + 'name' => 'text.txt', + 'size' => 1024, + ], + ] + ) + ] + ); + $m->setScenario('validateFile'); + $this->assertFalse($m->validate()); } /**