Отсутствие пропса в Inertia
Скажем, в модели работника есть служебные поля, которые нельзя показывать на экране. Контроллер должен отфильтровать массив, а тест - доказать, что лишний ключ не просочился в JSON ответа Inertia.
Метод missing делает
противоположность методу
has: он требует,
чтобы пропса на этом уровне
не было. Его часто ставят
рядом с точечными проверками
нужных полей, когда важно
явно запретить пароль,
токен или внутренний идентификатор.
Давайте добавим такую проверку:
<?php
namespace Tests\Feature;
use Inertia\Testing\AssertableInertia as Assert;
use Tests\TestCase;
class WorkersPageTest extends TestCase
{
public function test_worker_hides_password(): void
{
$this->get('/workers/1')
->assertInertia(fn (Assert $page) => $page
->has('worker', fn (Assert $page) => $page
->missing('password')
)
);
}
}
Сделайте тест профиля
сотрудника, чтобы пропс
salary отсутствовал
в ответе Inertia.