Filter::make('name') ->form([ TextInput::make('name') ->placeholder('Enter name to filter') ->label('Name'), ]) ->query( fn (Builder $query, array $data) => isset($data['name']) && is_string($data['name']) ? $query->whereLike('name', "%{$data['name']}%") : $query),
it('applies the `name` filter correctly', function () { $users = User::factory(5)->create(); $filteredUser = $users->first(); $nonFilteredUsers = $users->reject(fn($user) => $user->name === $filteredUser->name); livewire(ListUsers::class) ->assertCanSeeTableRecords($users) ->filterTable('name', ['name' => $filteredUser->name]) ->assertCountTableRecords(1) ->assertCanSeeTableRecords([$filteredUser]) ->assertCanNotSeeTableRecords($nonFilteredUsers);});
filterTable