@@ -33,6 +33,14 @@ protected function setUp() : void
33
33
App::database ()->insert ()->into ('Users ' )->values (2 , 'bar ' )->run ();
34
34
}
35
35
36
+ public function testExistNoDataValue () : void
37
+ {
38
+ $ validation = App::validation ();
39
+ $ validation ->setRule ('username ' , 'exist:Users ' );
40
+ self ::assertFalse ($ validation ->validate ([]));
41
+ self ::assertArrayHasKey ('username ' , $ validation ->getErrors ());
42
+ }
43
+
36
44
public function testUniqueNoDataValue () : void
37
45
{
38
46
$ validation = App::validation ();
@@ -49,6 +57,22 @@ public function testNotUniqueNoDataValue() : void
49
57
self ::assertArrayNotHasKey ('username ' , $ validation ->getErrors ());
50
58
}
51
59
60
+ public function testExist () : void
61
+ {
62
+ $ validation = App::validation ();
63
+ $ validation ->setRule ('username ' , 'exist:Users ' );
64
+ $ data = [
65
+ 'username ' => 'foo ' ,
66
+ ];
67
+ self ::assertTrue ($ validation ->validate ($ data ));
68
+ self ::assertEmpty ($ validation ->getErrors ());
69
+ $ data = [
70
+ 'username ' => 'bazz ' ,
71
+ ];
72
+ self ::assertFalse ($ validation ->validate ($ data ));
73
+ self ::assertArrayHasKey ('username ' , $ validation ->getErrors ());
74
+ }
75
+
52
76
public function testUnique () : void
53
77
{
54
78
$ validation = App::validation ();
@@ -71,6 +95,22 @@ public function testNotUnique() : void
71
95
self ::assertArrayNotHasKey ('username ' , $ validation ->getErrors ());
72
96
}
73
97
98
+ public function testExistWithTableColumn () : void
99
+ {
100
+ $ validation = App::validation ();
101
+ $ validation ->setRule ('user ' , 'exist:Users.username ' );
102
+ $ data = [
103
+ 'user ' => 'foo ' ,
104
+ ];
105
+ self ::assertTrue ($ validation ->validate ($ data ));
106
+ self ::assertEmpty ($ validation ->getErrors ());
107
+ $ data = [
108
+ 'user ' => 'bazz ' ,
109
+ ];
110
+ self ::assertFalse ($ validation ->validate ($ data ));
111
+ self ::assertArrayHasKey ('user ' , $ validation ->getErrors ());
112
+ }
113
+
74
114
public function testUniqueWithTableColumn () : void
75
115
{
76
116
$ validation = App::validation ();
@@ -114,6 +154,20 @@ public function testNotUniqueIgnoring() : void
114
154
self ::assertArrayHasKey ('username ' , $ validation ->getErrors ());
115
155
}
116
156
157
+ public function testExistWithoutConnection () : void
158
+ {
159
+ $ validation = App::validation ();
160
+ $ validation ->setRule ('username ' , 'exist:Users, ' );
161
+ $ this ->expectException (\LogicException::class);
162
+ $ this ->expectExceptionMessage (
163
+ 'The connection parameter must be set to be able to connect the database '
164
+ );
165
+ $ data = [
166
+ 'username ' => 'foo ' ,
167
+ ];
168
+ $ validation ->validate ($ data );
169
+ }
170
+
117
171
public function testUniqueWithoutConnection () : void
118
172
{
119
173
$ validation = App::validation ();
0 commit comments