Поиск и сортировка в Filament
Давайте проверим поиск и сортировку. Поле поиска и заголовки колонок на /admin/posts меняют набор и порядок строк без перезагрузки.
На ListPosts сначала
зададим строку поиска через
searchTable, затем
укажем колонку в
sortTable. Так мы
повторим два частых жеста
в таблице постов.
Минимальный тест может выглядеть так:
<?php
use App\Filament\Resources\Posts\Pages\ListPosts;
use App\Models\Post;
use App\Models\User;
use function Pest\Livewire\livewire;
beforeEach(function () {
$this->actingAs(User::factory()->create());
});
it('searches and sorts the table', function () {
Post::factory()->create(['title' => 'Ada']);
Post::factory()->create(['title' => 'Bob']);
livewire(ListPosts::class)
->searchTable('Ada')
->assertCanSeeTableRecords(
Post::query()->where('title', 'Ada')->get()
)
->sortTable('title');
});
?>
Проверьте, что поиск находит работника по имени, а сортировка меняет порядок строк.