assertDatabaseHas について
Laravel には assertDatabaseHas という、データベースにデータが存在するかどうかチェックするアサーションがあります。
詳細は Laravel のドキュメントの「データベーステスト」を見てください
https://readouble.com/laravel/12.x/ja/database-testing.html
この時に、JSON カラムを比較したい場合は、 castAsJson メソッドを利用する必要があるので注意です。
OK
<?php $this->assertDatabaseHas('users', [ 'id' => 1, 'tag' => $this->castAsJson(['game', 'anime']), ]);
NG
<?php $this->assertDatabaseHas('users', [ 'id' => 1, 'tag' => ['game', 'anime'], ]);
<?php $this->assertDatabaseHas('users', [ 'id' => 1, 'tag' => json_encode(['game', 'anime']), ]);
テストが落ちた時のメッセージからはまず気付けないので注意が必要です。