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