Passed
Push — master ( eae2ea...251e76 )
by
unknown
01:43
created

ValidationTest::test_run_with_error_break()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 16
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 8
nc 1
nop 0
dl 0
loc 16
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
namespace PluginSimpleValidate\Tests\unit;
4
5
use PluginSimpleValidate\Field;
6
use PluginSimpleValidate\Validation;
7
8
class ValidationTest extends Base
9
{
10
    public function setUp()
11
    {
12
        parent::setUp();
13
    }
14
15
    public function test_run()
16
    {
17
        $validation = $this->generateValidationMultiFieldMultiRules();
18
19
        $this->assertFalse($validation->run());
20
21
        $this->assertEquals(
22
            [
23
                'email' => [
24
                    'field is required',
25
                    'field must be a valid email address',
26
                ],
27
                'password' => [
28
                    'field is required',
29
                    'field may only letters and numbers',
30
                    'field length must be greater than 5',
31
                ],
32
            ],
33
            $validation->getErrors()
34
        );
35
    }
36
37
    public function test_run_with_error_break()
38
    {
39
        $validation = $this->generateValidationMultiFieldMultiRules();
40
41
        $this->assertFalse($validation->run(true));
42
43
        $this->assertEquals(
44
            [
45
                'email' => [
46
                    'field is required',
47
                    'field must be a valid email address',
48
                ],
49
            ],
50
            $validation->getErrors()
51
        );
52
    }
53
54
    private function generateValidationMultiFieldMultiRules()
55
    {
56
        $validation = new Validation($this->language);
57
58
        return $validation->addField((new Field('email', ''))
59
            ->required()
60
            ->validEmail()
61
        )->addField((new Field('password', ''))
62
            ->required()
63
            ->isAlphaOrNumeric()
64
            ->lengthGreaterThan(5)
65
        );
66
    }
67
}
68