はじめに
こんばんは。
めちゃめちゃ簡単ですが、知らなかったので備忘録です。
本題
今までは assertSessionHasErrors
を使って以下みたいに書いてました。
$article = Article::factory()->create(); $response = $this->actingAs(User::factory()->create()) ->post(route('article.update', $article->id), [ 'name' => null, ]); $response->assertStatus(302); $response->assertRedirect(route('article.create')); $response->assertSessionHasErrors(['name' => '名前が入力されていません。']);
assertSessionHasErrors
の部分が assertInvalid
に書き換えできるみたいです。
$article = Article::factory()->create(); $response = $this->actingAs(User::factory()->create()) ->post(route('article.update', $article->id), [ 'name' => null, ]); $response->assertStatus(302); $response->assertRedirect(route('article.create')); $response->assertInvalid(['name' => '名前が入力されていません。']); ← assertInvalidに書き換えができる
最近かな?と思ったら laravel8からできるみたいでした...
知らないことより知ったかぶりしないことが大事ということで。
終わりに
laravel結構使ってますがまだまだ知らないこと多いです。
簡単でしたが、現場からは以上です。