Phalcon\Test\Unit\Validation\Validator\FileTest::testMultipleField PHP Method

testMultipleField() public method

Tests file validator with multiple field
Since: 2016-10-23
Author: Wojciech Ślawski ([email protected])
public testMultipleField ( )
    public function testMultipleField()
    {
        $this->specify('The file validator does not validates correctly with multiple field', function () {
            $validation = new Validation();
            $validation->add(['file', 'anotherFile'], new File(['maxSize' => ['file' => '500K', 'anotherFile' => '600K'], 'allowedTypes' => ['image/jpeg', 'image/png'], 'maxResolution' => ['file' => '800x800', 'anotherFile' => '900x900'], 'minResolution' => '1x1', 'message' => ['file' => 'Image should have max 800x800 resolution', 'anotherFile' => 'Image should have max 900x900 resolution']]));
            $messages = $validation->validate(['file' => $this->files[2], 'anotherFile' => $this->files[2]]);
            expect($messages->count())->equals(0);
            $messages = $validation->validate(['file' => $this->files[2], 'anotherFile' => $this->files[3]]);
            expect($messages->count())->equals(1);
            $expectedMessages = Validation\Message\Group::__set_state(['_messages' => [0 => Validation\Message::__set_state(['_type' => 'File', '_message' => 'Image should have max 900x900 resolution', '_field' => 'anotherFile', '_code' => '0'])]]);
            expect($expectedMessages)->equals($messages);
            $messages = $validation->validate(['file' => $this->files[3], 'anotherFile' => $this->files[3]]);
            expect($messages->count())->equals(2);
            $expectedMessages = Validation\Message\Group::__set_state(['_messages' => [0 => Validation\Message::__set_state(['_type' => 'File', '_message' => 'Image should have max 800x800 resolution', '_field' => 'file', '_code' => '0']), 1 => Validation\Message::__set_state(['_type' => 'File', '_message' => 'Image should have max 900x900 resolution', '_field' => 'anotherFile', '_code' => '0'])]]);
            expect($expectedMessages)->equals($messages);
        });
    }