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