FieldTest::test_is_true()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 16
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 12
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 16
rs 9.4285
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
        $firstname = 'harry';
20
        $lastname = '';
21
        $field = new Field('name');
22
        $field->isTrue($firstname !== '', 'firstname required')
23
            ->isTrue($lastname !== '', 'lastname required')
24
            ->isTrue(strlen($firstname . ' ' . $lastname) > 10, 'fullname length must be greater than 10');
25
26
        $this->assertFalse($field->isValid($this->language));
27
        $this->assertEquals([
28
            'lastname required',
29
            'fullname length must be greater than 10'
30
        ], $field->getErrors());
31
32
    }
33
34
    public function test_multi_rules()
35
    {
36
        $email = '';
37
38
        $field = (new Field('email'))
39
            ->required($email)
40
            ->validEmail($email)
41
            ->lengthBetweenOrEqual($email, 5, 10);
42
        $this->assertFalse($field->isValid($this->language));
43
        $this->assertEquals([
44
            'field is required',
45
            'field must be a valid email address',
46
            'field length must be greater or equal than 5 or less or equal than 10',
47
        ], $field->getErrors());
48
    }
49
}
50