Test Failed
Push — 1.0.0-dev ( 6506b5...225896 )
by nguereza
05:07
created

FormValidationTest   A

Complexity

Total Complexity 13

Size/Duplication

Total Lines 131
Duplicated Lines 0 %

Importance

Changes 1
Bugs 1 Features 0
Metric Value
eloc 59
c 1
b 1
f 0
dl 0
loc 131
rs 10
wmc 13

13 Methods

Rating   Name   Duplication   Size   Complexity  
A testRequiredRule() 0 16 1
A testValidationDataIsNotEmpty() 0 6 1
A tearDownAfterClass() 0 2 1
A testReturnErrorsArray() 0 7 1
A setUpBeforeClass() 0 2 1
A testValidationDataIsEmpty() 0 4 1
A testSettingErrorMessageOverride() 0 21 1
A setUp() 0 2 1
A testCannotDoValidation() 0 4 1
A testSettingErrorsDelimiter() 0 6 1
A tearDown() 0 2 1
A testSettingCustomErrorMessage() 0 19 1
A testSettingErrorDelimiter() 0 6 1
1
<?php 
2
use PHPUnit\Framework\TestCase;
3
class FormValidationTest extends TestCase
4
{   
5
	public static function setUpBeforeClass()
6
    {
7
    
8
    }
9
	
10
	public static function tearDownAfterClass()
11
    {
12
        
13
    }
14
	
15
    protected function setUp()
16
    {
17
		
18
    }
19
20
    protected function tearDown()
21
    {
22
		
23
    }
24
	
25
	
26
27
    // tests
28
    public function testValidationDataIsEmpty()
29
    {
30
		$fv = new FormValidation();
31
		$this->assertEmpty($fv->getData());
32
    }
33
	
34
	public function testValidationDataIsNotEmpty()
35
    {
36
		$fv = new FormValidation();
37
		$fv->setData(array('name' => 'mike'));
38
		$this->assertNotEmpty($fv->getData());
39
		$this->assertArrayHasKey('name', $fv->getData());
40
    }
41
	
42
	public function testCannotDoValidation()
43
    {
44
		$fv = new FormValidation();
45
		$this->assertFalse($fv->canDoValidation());
46
    }
47
48
	public function testSettingErrorDelimiter()
49
    {
50
		$fv = new FormValidation();
51
		$fv->setErrorDelimiter('<a>', '</b>');
52
		$this->assertContains('<a>', $fv->getErrorDelimiter());
53
		$this->assertContains('</b>', $fv->getErrorDelimiter());
54
    }
55
	
56
	public function testSettingErrorsDelimiter()
57
    {
58
		$fv = new FormValidation();
59
		$fv->setErrorsDelimiter('<foo>', '</bar>');
60
		$this->assertContains('<foo>', $fv->getErrorsDelimiter());
61
		$this->assertContains('</bar>', $fv->getErrorsDelimiter());
62
    }
63
	
64
	public function testSettingErrorMessageOverride()
65
    {
66
		
67
		//field specific message for the rule
68
		$fv = new FormValidation();
69
		$fv->setData(array('foo' => ''));
70
		$fv->setRule('foo', 'bar', 'required');
71
		$fv->setMessage('required', 'foo', 'foo required message error');
72
		
73
		$this->assertFalse($fv->run());
74
		$this->assertContains('foo required message error', $fv->returnErrors());
75
		
76
		//global message for the rule
77
		$fv = new FormValidation();
78
		$fv->setData(array('foo' => '', 'bar' => null));
79
		$fv->setRule('foo', 'bar', 'required');
80
		$fv->setRule('bar', 'foo', 'required');
81
		$fv->setMessage('required', 'global required message error');
82
83
		$this->assertFalse($fv->run());
84
		$this->assertContains('global required message error', $fv->returnErrors());
85
    }
86
	
87
	public function testSettingCustomErrorMessage()
88
    {
89
		
90
		$fv = new FormValidation();
91
		$fv->setData(array('foo' => ''));
92
		$fv->setRule('foo', 'bar', 'required');
93
		$fv->setCustomError('foo', 'custom foo message error');
94
		
95
		$this->assertFalse($fv->run());
96
		$this->assertContains('custom foo message error', $fv->returnErrors());
97
		
98
		//with label in the message
99
		$fv = new FormValidation();
100
		$fv->setData(array('foo' => ''));
101
		$fv->setRule('foo', 'bar', 'required');
102
		$fv->setCustomError('foo', 'custom "%1" message error');
103
		
104
		$this->assertFalse($fv->run());
105
		$this->assertContains('custom "bar" message error', $fv->returnErrors());	
106
    }
107
	
108
	public function testReturnErrorsArray()
109
    {
110
		$fv = new FormValidation();
111
		$fv->setRule('name', 'name', 'required');
112
		$fv->setData(array('name' => ''));
113
		$this->assertFalse($fv->run());
114
		$this->assertNotEmpty($fv->returnErrors());
115
    }
116
	
117
	
118
	public function testRequiredRule()
119
    {
120
		$fv = new FormValidation();
121
		$fv->setRule('name', 'name', 'required');
122
		$fv->setData(array('name' => ''));
123
		$this->assertFalse($fv->run());
124
		
125
		$fv = new FormValidation();
126
		$fv->setRule('name', 'name', 'required');
127
		$fv->setData(array('name' => null));
128
		$this->assertFalse($fv->run());
129
		
130
		$fv = new FormValidation();
131
		$fv->setRule('name', 'name', 'required');
132
		$fv->setData(array('name' => 'tony'));
133
		$this->assertTrue($fv->run());
134
    }
135
}