mirror of
https://github.com/filamentphp/filament.git
synced 2026-09-24 15:42:09 +08:00
Added a assertTableFilterHidden method
This commit is contained in:
@@ -169,6 +169,8 @@ namespace Livewire\Features\SupportTesting {
|
||||
|
||||
public function assertTableFilterVisible(string $name): static{}
|
||||
|
||||
public function assertTableFilterHidden(string $name): static{}
|
||||
|
||||
public function assertCanSeeTableRecords(array | Collection $records, bool $inOrder = false): static {}
|
||||
|
||||
public function assertCanNotSeeTableRecords(array | Collection $records): static {}
|
||||
|
||||
@@ -117,4 +117,22 @@ class TestsFilters
|
||||
return $this;
|
||||
};
|
||||
}
|
||||
|
||||
public function assertTableFilterHidden(): Closure
|
||||
{
|
||||
return function (string $name): static {
|
||||
$name = $this->instance()->parseTableFilterName($name);
|
||||
|
||||
$filter = $this->instance()->getTable()->getAnyFilter($name);
|
||||
|
||||
$livewireClass = $this->instance()::class;
|
||||
|
||||
Assert::assertTrue(
|
||||
$filter->isHidden(),
|
||||
message: "Failed asserting that the table filter with name [{$name}] is hidden on the [{$livewireClass}] component"
|
||||
);
|
||||
|
||||
return $this;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,3 +107,9 @@ it('can check if a filter is visible with assertTableFilterVisible', function ()
|
||||
livewire(PostsTable::class)
|
||||
->assertTableFilterVisible('is_published');
|
||||
});
|
||||
|
||||
it('can check if a filter is hidden with assertTableFilterHidden', function (): void {
|
||||
livewire(PostsTable::class)
|
||||
->assertTableFilterHidden('hidden_filter');
|
||||
});
|
||||
|
||||
|
||||
@@ -103,6 +103,8 @@ class PostsTable extends Component implements HasForms, Tables\Contracts\HasTabl
|
||||
])
|
||||
->attribute('is_published'),
|
||||
Tables\Filters\TrashedFilter::make(),
|
||||
Tables\Filters\SelectFilter::make('hidden_filter')
|
||||
->hidden(),
|
||||
])
|
||||
->persistFiltersInSession()
|
||||
->headerActions([
|
||||
|
||||
Reference in New Issue
Block a user