Added a assertTableFilterHidden method

This commit is contained in:
chester
2025-01-10 08:31:57 +08:00
parent 803d86e82f
commit f3b66d4c65
4 changed files with 28 additions and 0 deletions
+2
View File
@@ -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;
};
}
}
+6
View File
@@ -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');
});
+2
View File
@@ -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([