Test resources with multi tenants
- Published: 30 Mar 2024 Updated: 08 Aug 2026
A starting point for testing filamentPHP with tenant aware resources.
test render tenant owned records
1beforeEach(function ((){
2 $this->company = Club::factory()->create();
3 $this->user = User::factory()->create();
4 $this->user->company()->attach($this->company);
5
6 actingAs($this->user);
7 Filament::setTenant($this->company);
8});
test listing the tenant records only
1use function Pest\Livewire\livewire;
2
3it('can only render tenant owned records', function () {
4 // Edit logic here ??
5 $posts = Post::factory()->count(4)->create();
6 $trashedPosts = Post::factory()
7 ->trashed()
8 ->count(6)
9 ->create();
10
11 livewire(PostResource\Pages\ListPosts::class)
12 ->assertCanSeeTableRecords($posts)
13 ->assertCanNotSeeTableRecords($trashedPosts)
14 ->assertCountTableRecords(4);
15});
Related Tricks:
A starting point for testing filamentPHP with tenant aware resources.
How to Apply Authorization on Create Option Action for Select Field
Bring the sticky actions back form filament v2
add any link or actions to the topbar
how to use an action as a headerAction or as a table row action without code duplication