Skip to content

Commit 3536497

Browse files
committed
Add test for getting required fields from request validation for array of rules
Also add some not required fields to validation as sanity check
1 parent 0ecf7e4 commit 3536497

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

tests/Unit/CrudPanel/CrudPanelValidationTest.php

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,7 @@ public function testItCanGetTheRequiredFields()
234234
$this->crudPanel->setValidation([
235235
'email' => 'required',
236236
'password.*.test' => 'required',
237+
'not_required' => 'present',
237238
]);
238239

239240
$this->crudPanel->setValidation(UserRequest::class);
@@ -250,13 +251,31 @@ public function testItCanGetTheRequiredFieldsFromCustomRules()
250251
$this->crudPanel->setValidation([
251252
'email' => ValidUpload::field('required'),
252253
'password' => ValidUploadMultiple::field('required'),
254+
'not_required' => ValidUpload::field('present'),
253255
]);
254256

255257
$this->assertEquals(['email', 'password'], array_values($this->crudPanel->getOperationSetting('requiredFields')));
256258
$this->assertTrue($this->crudPanel->isRequired('email'));
257259
$this->assertTrue($this->crudPanel->isRequired('password'));
258260
}
259261

262+
public function testItCanGetTheRequiredFieldsFromRulesArray()
263+
{
264+
$this->crudPanel->setModel(User::class);
265+
266+
$this->crudPanel->setValidation([
267+
'email' => ['required', 'string'],
268+
'password' => ['string', 'required'],
269+
'password_confirm' => ['same:password', ValidUploadMultiple::field('required')],
270+
'not_required' => ['string', 'present', 'foobar'],
271+
]);
272+
273+
$this->assertEquals(['email', 'password', 'password_confirm'], array_values($this->crudPanel->getOperationSetting('requiredFields')));
274+
$this->assertTrue($this->crudPanel->isRequired('email'));
275+
$this->assertTrue($this->crudPanel->isRequired('password'));
276+
$this->assertTrue($this->crudPanel->isRequired('password_confirm'));
277+
}
278+
260279
public function testItCanValidateCustomRules()
261280
{
262281
$this->crudPanel->setModel(User::class);

0 commit comments

Comments
 (0)