This repository was archived by the owner on Feb 14, 2026. It is now read-only.
File tree Expand file tree Collapse file tree 5 files changed +40
-0
lines changed
resources/views/resources/pages/index
TestRenderers/Resources/Pages/Index Expand file tree Collapse file tree 5 files changed +40
-0
lines changed Original file line number Diff line number Diff line change @@ -49,6 +49,7 @@ This package generates comprehensive PEST tests for your Filament resources. Her
4949
5050### Table Functionality Tests
5151- ** CanSearchColumnTest** - Tests that searchable columns work correctly
52+ - ** CanSearchColumnIndividuallyTest** - Tests that individual column search works correctly
5253- ** CanSortColumnTest** - Tests that sortable columns work correctly
5354- ** CanPaginateRecordsTest** - Tests that pagination works correctly
5455
Original file line number Diff line number Diff line change 1+ it('can search `:dataset` column individually', function (string $column): void {
2+ $records = {{ $getResourceModel () } } ::factory(3)->create();
3+ $search = data_get($records->first(), $column);
4+
5+ livewire({{ $getPageClass (' index' ) } } ::class)
6+ @if ($isResourceTableLoadingDeferred () )->loadTable()@endif
7+ ->searchTableColumns([$column => $search instanceof BackedEnum ? $search->value : $search])
8+ ->assertCanSeeTableRecords($records->filter(fn (Illuminate\Database\Eloquent\Model $record) => data_get($record, $column) == $search))
9+ ->assertCanNotSeeTableRecords($records->filter(fn (Illuminate\Database\Eloquent\Model $record) => data_get($record, $column) != $search));
10+ })->with([@foreach ($getResourceTableIndividualSearchableColumnKeys () as $column )'{{ $column } } ',@endforeach ]);
Original file line number Diff line number Diff line change 1414use CodeWithDennis \FilamentTests \TestRenderers \Resources \Pages \Index \CanPaginateRecordsTest ;
1515use CodeWithDennis \FilamentTests \TestRenderers \Resources \Pages \Index \CanRenderColumnTest ;
1616use CodeWithDennis \FilamentTests \TestRenderers \Resources \Pages \Index \CanRenderIndexPageTest ;
17+ use CodeWithDennis \FilamentTests \TestRenderers \Resources \Pages \Index \CanSearchColumnIndividuallyTest ;
1718use CodeWithDennis \FilamentTests \TestRenderers \Resources \Pages \Index \CanSearchColumnTest ;
1819use CodeWithDennis \FilamentTests \TestRenderers \Resources \Pages \Index \CanSortColumnTest ;
1920use CodeWithDennis \FilamentTests \TestRenderers \Resources \Pages \Index \HasColumnTest ;
@@ -69,6 +70,7 @@ protected function getRenderers(): array
6970 HidesColumnTest::class,
7071 CanSortColumnTest::class,
7172 CanSearchColumnTest::class,
73+ CanSearchColumnIndividuallyTest::class,
7274 CanDeleteRecordTest::class,
7375 CanNotDisplayTrashedRecordsByDefault::class,
7476 CanPaginateRecordsTest::class,
Original file line number Diff line number Diff line change @@ -102,6 +102,17 @@ public function getResourceTableSearchableColumnKeys(): array
102102 return $ this ->getResourceTableColumnKeysFrom ($ this ->getResourceTableSearchableColumns ());
103103 }
104104
105+ public function getResourceTableIndividualSearchableColumns (): Collection
106+ {
107+ return $ this ->getResourceTableColumns ()
108+ ->filter (fn (Column $ column ): bool => $ column ->isIndividuallySearchable ());
109+ }
110+
111+ public function getResourceTableIndividualSearchableColumnKeys (): array
112+ {
113+ return $ this ->getResourceTableColumnKeysFrom ($ this ->getResourceTableIndividualSearchableColumns ());
114+ }
115+
105116 public function getResourceTableActions (): array
106117 {
107118 return $ this ->getResourceTable ()->getRecordActions ();
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace CodeWithDennis \FilamentTests \TestRenderers \Resources \Pages \Index ;
4+
5+ use CodeWithDennis \FilamentTests \TestRenderers \BaseTest ;
6+
7+ class CanSearchColumnIndividuallyTest extends BaseTest
8+ {
9+ public ?string $ view = 'filament-tests::resources.pages.index.can-search-column-individually ' ;
10+
11+ public function getShouldRender (): bool
12+ {
13+ return $ this ->hasPage ('index ' )
14+ && $ this ->getResourceTableIndividualSearchableColumns ()->isNotEmpty ();
15+ }
16+ }
You can’t perform that action at this time.
0 commit comments