Completed
Push — master ( 121fac...aa6513 )
by Harry Osmar
06:34 queued 03:36
created

FieldTest::test_is_required()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 4
nc 1
nop 0
dl 0
loc 6
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
namespace PluginSimpleValidate\Tests\unit;
4
5
use PluginSimpleValidate\Field;
6
7
class FieldTest extends Base
8
{
9
    public function test_construct()
10
    {
11
        $field = new Field('name', 'value');
12
        $this->assertEquals('name', $field->getName());
13
        $this->assertEquals('value', $field->getValue());
14
    }
15
16
    public function test_is_required()
17
    {
18
        $field = (new Field('username', ''))->required();
19
        $this->assertFalse($field->isValid($this->language));
20
        $this->assertEquals(['field is required'], $field->getErrors());
21
    }
22
23
    public function test_is_less_than()
24
    {
25
        $field = (new Field('score', 90.90))->lessThan(90.87);
26
        $this->assertFalse($field->isValid($this->language));
27
        $this->assertEquals(['field must be less than 90.87'], $field->getErrors());
28
    }
29
30
    public function test_equal()
31
    {
32
        $field = (new Field('confirm_password', 'newpassword'))->equal('oldpassword');
33
        $this->assertFalse($field->isValid($this->language));
34
        $this->assertEquals(['field must be equal with "oldpassword"'], $field->getErrors());
35
    }
36
37
    public function test_between()
38
    {
39
        $field = (new Field('grade_b', 86))->between(79, 86);
40
        $this->assertFalse($field->isValid($this->language));
41
        $this->assertEquals(['field must be greater than 79 or less than 86'], $field->getErrors());
42
    }
43
44
    public function test_field_multi_rules()
45
    {
46
        $field = (new Field('email', ''))->required()->validEmail();
47
        $this->assertFalse($field->isValid($this->language));
48
        $this->assertEquals(['field is required', 'field must be a valid email address'], $field->getErrors());
49
    }
50
51
    public function test_is_true()
52
    {
53
        $field = (new Field('value', 5 < 4))->isTrue('comparison error');
54
        $this->assertFalse($field->isValid($this->language));
55
        $this->assertEquals(['comparison error'], $field->getErrors());
56
    }
57
58
    public function test_isValidPhone()
59
    {
60
        $field = (new Field('phone_number', 'abcde'))->isValidPhone('ID');
61
        $this->assertFalse($field->isValid($this->language));
62
        $field->setValue('081397738684');
63
        $this->assertTrue($field->isValid($this->language));
64
    }
65
}
66