logo light

Test resources with multi tenants

Image Description
By: Lara Zeus
  • Published: 30 Mar 2024 Updated: 04 May 2024

A starting point for testing filamentPHP with tenant aware resources.

Test resources with multi tenants

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});

Back to Tricks