ValidationTest::test_run()   B
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 27
Code Lines 17

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 17
nc 1
nop 0
dl 0
loc 27
rs 8.8571
c 1
b 0
f 0
1
<?php
2
3
namespace PluginSimpleValidate\Tests\unit\MultiValue;
4
5
use PluginSimpleValidate\MultiValues\Field;
6
use PluginSimpleValidate\Tests\unit\Base;
7
use PluginSimpleValidate\Validation;
8
9
class ValidationTest extends Base
10
{
11
    public function setUp()
12
    {
13
        parent::setUp();
14
    }
15
16
    public function test_run()
17
    {
18
        $validation = new Validation($this->language);
19
20
        $firstName = '';
21
        $lastName = '';
22
23
        $validation->addField((new Field('name'))
24
            ->isTrue($firstName !== '', 'first name required')->isTrue(strlen($firstName) >= 4, 'first name length must be at least 4')
25
            ->isTrue($lastName !== '', 'last name required')->isTrue(strlen($lastName) >= 4, 'last name length must be at least 4')
26
            ->isTrue(strlen($firstName . ' ' . $lastName) >= 10, 'full name length must be at least 10'));
27
28
        $this->assertFalse($validation->run());
29
30
        $this->assertEquals(
31
            [
32
                'name' => [
33
                    'first name required',
34
                    'first name length must be at least 4',
35
                    'last name required',
36
                    'last name length must be at least 4',
37
                    'full name length must be at least 10'
38
                ]
39
            ],
40
            $validation->getErrors()
41
        );
42
    }
43
}
44