У меня есть laravel проверка правил, и я хочу проверить все это, дать правила с одним методом и dataProvider, используя phpunit
Например, у меня есть правила required|string|max:255
Я хочу проверить required
string and
max: 255` правил без написания метода тестирования отдельно
Но я могу сделать это только для required
правил. Я хочу проверить вторые правила, такие как digit_between
для поля идентификаторов, но поле first_name
не имеет digit_between
, но это string
- здесь мой пример правил код
{
return [
'identity_number' => 'required|digits_between:1,255|unique:borrowers',
'first_name' => 'required|string|max:255',
'last_name' => 'required|string|max:255',
'birthdate' => 'required|date',
];
}
2.тестирование кода:
/**
* Test store validation.
*
* @return void
*
* @group user
* @dataProvider requiredStoreValidationProvider
*/
public function testStoreValidation($formInput, $formInputValue)
{
$response = $this->actingAs($this->user)
->post(route('borrower.store'), [
$formInput => $formInputValue,
]);
$response->assertSessionHasErrorsIn('validation', $formInput);
}
/**
* Required store data validation provider.
*
* @return \string[][]
*/
public function requiredStoreValidationProvider()
{
return [
['identity_number', ''],
['first_name', ''],
['last_name', ''],
['birthdate', ''],
];
}