@@ -41,6 +41,14 @@ public function testExistNoDataValue() : void
41
41
self ::assertArrayHasKey ('username ' , $ validation ->getErrors ());
42
42
}
43
43
44
+ public function testExistManyNoDataValue () : void
45
+ {
46
+ $ validation = App::validation ();
47
+ $ validation ->setRule ('username ' , 'existMany:Users ' );
48
+ self ::assertTrue ($ validation ->validate ([]));
49
+ self ::assertEmpty ($ validation ->getErrors ());
50
+ }
51
+
44
52
public function testUniqueNoDataValue () : void
45
53
{
46
54
$ validation = App::validation ();
@@ -73,6 +81,41 @@ public function testExist() : void
73
81
self ::assertArrayHasKey ('username ' , $ validation ->getErrors ());
74
82
}
75
83
84
+ public function testExistMany () : void
85
+ {
86
+ $ validation = App::validation ();
87
+ $ validation ->setRule ('usernames ' , 'existMany:Users.username ' );
88
+ $ data = [
89
+ 'usernames ' => [
90
+ 'foo ' ,
91
+ 'bar ' ,
92
+ ],
93
+ ];
94
+ self ::assertTrue ($ validation ->validate ($ data ));
95
+ self ::assertEmpty ($ validation ->getErrors ());
96
+ $ data = [
97
+ 'usernames ' => [
98
+ 'foo ' ,
99
+ 'bazz ' ,
100
+ ],
101
+ ];
102
+ self ::assertFalse ($ validation ->validate ($ data ));
103
+ self ::assertArrayHasKey ('usernames ' , $ validation ->getErrors ());
104
+ $ data = [
105
+ 'usernames ' => 'invalid ' , // it should be an array
106
+ ];
107
+ self ::assertFalse ($ validation ->validate ($ data ));
108
+ self ::assertArrayHasKey ('usernames ' , $ validation ->getErrors ());
109
+ $ data = [
110
+ 'usernames ' => [
111
+ ['invalid ' ], // it should be scalar
112
+ 'bazz ' ,
113
+ ],
114
+ ];
115
+ self ::assertFalse ($ validation ->validate ($ data ));
116
+ self ::assertArrayHasKey ('usernames ' , $ validation ->getErrors ());
117
+ }
118
+
76
119
public function testUnique () : void
77
120
{
78
121
$ validation = App::validation ();
@@ -168,6 +211,20 @@ public function testExistWithoutConnection() : void
168
211
$ validation ->validate ($ data );
169
212
}
170
213
214
+ public function testExistManyWithoutConnection () : void
215
+ {
216
+ $ validation = App::validation ();
217
+ $ validation ->setRule ('usernames ' , 'existMany:Users, ' );
218
+ $ this ->expectException (\LogicException::class);
219
+ $ this ->expectExceptionMessage (
220
+ 'The connection parameter must be set to be able to connect the database '
221
+ );
222
+ $ data = [
223
+ 'usernames ' => ['foo ' ],
224
+ ];
225
+ $ validation ->validate ($ data );
226
+ }
227
+
171
228
public function testUniqueWithoutConnection () : void
172
229
{
173
230
$ validation = App::validation ();
0 commit comments