ValidationTest   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

Changes 1
Bugs 0 Features 0
Metric Value
dl 0
loc 35
rs 10
c 1
b 0
f 0
wmc 2
lcom 1
cbo 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A setUp() 0 4 1
B test_run() 0 27 1
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