Passed
Push — master ( 590085...649359 )
by
unknown
37s
created

FieldTest::test_is_true()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 12
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 10
nc 1
nop 0
dl 0
loc 12
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
namespace PluginSimpleValidate\Tests\unit\MultiValue;
4
5
6
use PluginSimpleValidate\MultiValues\Field;
7
use PluginSimpleValidate\Tests\unit\Base;
8
9
class FieldTest extends Base
10
{
11
    public function test_construct()
12
    {
13
        $field = new Field('name');
14
        $this->assertEquals('name', $field->getName());
15
    }
16
17
    public function test_is_true()
18
    {
19
        $field = (new Field('name'))
20
            ->isTrue(5 < 4, 'error1 occured')
21
            ->isTrue(5 > 3, 'error2 occured')
22
            ->isTrue(false, 'error3 occured');;
23
        $this->assertFalse($field->isValid($this->language));
24
        $this->assertEquals([
25
            'error1 occured',
26
            'error3 occured'
27
        ], $field->getErrors());
28
    }
29
30
    public function test_multi_rules()
31
    {
32
        $email = '';
33
34
        $field = (new Field('email'))
35
            ->required($email)
36
            ->validEmail($email)
37
            ->lengthBetweenOrEqual($email, 5, 10);
38
        $this->assertFalse($field->isValid($this->language));
39
        $this->assertEquals([
40
            'field is required',
41
            'field must be a valid email address',
42
            'field length must be greater or equal than 5 or less or equal than 10',
43
        ], $field->getErrors());
44
45
    }
46
}
47