Skip to content

Commit 1c085b2

Browse files
committed
Validation test fixes
1 parent 3eb509a commit 1c085b2

3 files changed

Lines changed: 112 additions & 63 deletions

File tree

php_errors.log

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[30-Jan-2018 23:57:36 America/Chicago] PHP Fatal error: Class 'z' not found in /Users/kilishan/WebSites/CodeIgniter4/tests/system/Validation/RulesTest.php on line 5

tests/system/Validation/RulesTest.php

Lines changed: 1 addition & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@
22

33
use Config\Database;
44

5-
class RulesTest extends \CIDatabaseTestCase
5+
class RulesTest extends \CIUnitTestCase
66
{
7-
protected $refresh =true;
8-
97
/**
108
* @var Validation
119
*/
@@ -335,66 +333,6 @@ public function testDiffersFalse()
335333

336334
//--------------------------------------------------------------------
337335

338-
/**
339-
* @group DatabaseLive
340-
*/
341-
public function testIsUniqueFalse()
342-
{
343-
$data = [
344-
'email' => 'derek@world.com',
345-
];
346-
347-
$this->validation->setRules([
348-
'email' => 'is_unique[user.email]',
349-
]);
350-
351-
$this->assertFalse($this->validation->run($data));
352-
}
353-
354-
//--------------------------------------------------------------------
355-
356-
/**
357-
* @group DatabaseLive
358-
*/
359-
public function testIsUniqueTrue()
360-
{
361-
$data = [
362-
'email' => 'derek@world.co.uk',
363-
];
364-
365-
$this->validation->setRules([
366-
'email' => 'is_unique[user.email]',
367-
]);
368-
369-
$this->assertTrue($this->validation->run($data));
370-
}
371-
372-
//--------------------------------------------------------------------
373-
374-
/**
375-
* @group DatabaseLive
376-
*/
377-
public function testIsUniqueIgnoresParams()
378-
{
379-
$db = Database::connect();
380-
$row = $db->table('user')
381-
->limit(1)
382-
->get()
383-
->getRow();
384-
385-
$data = [
386-
'email' => 'derek@world.co.uk',
387-
];
388-
389-
$this->validation->setRules([
390-
'email' => "is_unique[user.email,id,{$row->id}]",
391-
]);
392-
393-
$this->assertTrue($this->validation->run($data));
394-
}
395-
396-
//--------------------------------------------------------------------
397-
398336
public function testMinLengthNull()
399337
{
400338
$data = [
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
<?php namespace CodeIgniter\Validation;
2+
3+
use Config\Database;
4+
5+
class UniqueRulesTest extends \CIDatabaseTestCase
6+
{
7+
protected $refresh =true;
8+
9+
/**
10+
* @var Validation
11+
*/
12+
protected $validation;
13+
14+
protected $config = [
15+
'ruleSets' => [
16+
\CodeIgniter\Validation\Rules::class,
17+
\CodeIgniter\Validation\FormatRules::class,
18+
\CodeIgniter\Validation\FileRules::class,
19+
\CodeIgniter\Validation\CreditCardRules::class,
20+
\CodeIgniter\Validation\TestRules::class,
21+
],
22+
'groupA' => [
23+
'foo' => 'required|min_length[5]',
24+
],
25+
'groupA_errors' => [
26+
'foo' => [
27+
'min_length' => 'Shame, shame. Too short.',
28+
],
29+
],
30+
];
31+
32+
//--------------------------------------------------------------------
33+
34+
public function setUp()
35+
{
36+
parent::setUp();
37+
$this->validation = new Validation((object)$this->config, \Config\Services::renderer());
38+
$this->validation->reset();
39+
40+
$_FILES = [];
41+
}
42+
43+
/**
44+
* @group DatabaseLive
45+
*/
46+
public function testIsUniqueFalse()
47+
{
48+
$this->hasInDatabase('user', [
49+
'email' => 'derek@world.com'
50+
]);
51+
52+
$data = [
53+
'email' => 'derek@world.com',
54+
];
55+
56+
$this->validation->setRules([
57+
'email' => 'is_unique[user.email]',
58+
]);
59+
60+
$this->assertFalse($this->validation->run($data));
61+
}
62+
63+
//--------------------------------------------------------------------
64+
65+
/**
66+
* @group DatabaseLive
67+
*/
68+
public function testIsUniqueTrue()
69+
{
70+
$data = [
71+
'email' => 'derek@world.co.uk',
72+
];
73+
74+
$this->validation->setRules([
75+
'email' => 'is_unique[user.email]',
76+
]);
77+
78+
$this->assertTrue($this->validation->run($data));
79+
}
80+
81+
//--------------------------------------------------------------------
82+
83+
/**
84+
* @group DatabaseLive
85+
*/
86+
public function testIsUniqueIgnoresParams()
87+
{
88+
$this->hasInDatabase('user', [
89+
'email' => 'derek@world.co.uk'
90+
]);
91+
92+
$db = Database::connect();
93+
$row = $db->table('user')
94+
->limit(1)
95+
->get()
96+
->getRow();
97+
98+
$data = [
99+
'email' => 'derek@world.co.uk',
100+
];
101+
102+
$this->validation->setRules([
103+
'email' => "is_unique[user.email,id,{$row->id}]",
104+
]);
105+
106+
$this->assertTrue($this->validation->run($data));
107+
}
108+
109+
//--------------------------------------------------------------------
110+
}

0 commit comments

Comments
 (0)