Вложенный пропс в Inertia
Давайте рассмотрим ситуацию, когда контроллер отдаёт не плоский список, а объект работника с отделом внутри. Проверять каждое поле через длинное имя с точками можно, но удобнее один раз войти внутрь пропса и дальше писать короткие утверждения относительно этой области.
Метод has принимает
замыкание вторым аргументом:
оно получает новый объект
утверждений, уже смотрящий
внутрь выбранного пропса.
Так строят цепочки для
вложенных структур без
повторения префикса в каждой
строке.
Давайте убедимся, что у работника указан отдел:
<?php
namespace Tests\Feature;
use Inertia\Testing\AssertableInertia as Assert;
use Tests\TestCase;
class WorkersPageTest extends TestCase
{
public function test_worker_includes_department(): void
{
$this->get('/workers/1')
->assertInertia(fn (Assert $page) => $page
->has('worker', fn (Assert $page) => $page
->has('department')
)
);
}
}
Сделайте тест карточки
бригады, чтобы внутри пропса
crew присутствовало
поле leader.