Comparte:
Reglas de validación en Test
Hola Jorge, he visto esta solución para los test de validación que me parece interesante: https://jasonmccreary.me/articles/test-validation-laravel-form-request-assertion/. Me interesaría saber tu opinión al respecto.
Más abajo dejo la implementación, para el curso Desarrollo de una API con Laravel, entiendo que así es correcto. Gracias y felicidades por los cursos!
en class CreateArticlesTest extends TestCase
Más abajo dejo la implementación, para el curso Desarrollo de una API con Laravel, entiendo que así es correcto. Gracias y felicidades por los cursos!
en class CreateArticlesTest extends TestCase
/** @test */
public function store_validates_using_a_form_request()
{
$this->assertActionUsesFormRequest(
ArticleController::class,
'store',
SaveArticleRequest::class
);
}
y en el test unitario:
class StoreValidArticleTest extends TestCase
{
/** @var SaveArticleRequest */
private $subject;
protected function setUp(): void
{
parent::setUp();
$this->subject = new SaveArticleRequest();
}
public function testRules()
{
$this->assertEquals([
'data.attributes.title' => ['required', 'min:4'],
'data.attributes.slug' => [
'required',
'alpha_dash',
new Slug,
Rule::unique('articles', 'slug')->ignore($this->subject->route('article'))
],
'data.attributes.content' => ['required'],
],
$this->subject->rules()
);
}
public function testAuthorize()
{
$this->assertTrue($this->subject->authorize());
}
}