actingAs($user); $tenant->makeCurrent(); Filament::setTenant($tenant, true); Livewire::test(ListProviderConnections::class) ->assertActionVisible('create') ->assertActionDisabled('create') ->assertActionExists('create', function (Action $action): bool { return $action->getTooltip() === 'You do not have permission to create provider connections.'; }); }); it('shows create action as enabled for owner members', function () { [$user, $tenant] = createUserWithTenant(role: 'owner'); $this->actingAs($user); $tenant->makeCurrent(); Filament::setTenant($tenant, true); Livewire::test(ListProviderConnections::class) ->assertActionVisible('create') ->assertActionEnabled('create'); }); it('hides create action after membership is revoked mid-session', function () { [$user, $tenant] = createUserWithTenant(role: 'owner'); $this->actingAs($user); $tenant->makeCurrent(); Filament::setTenant($tenant, true); $component = Livewire::test(ListProviderConnections::class) ->assertActionVisible('create') ->assertActionEnabled('create'); $user->tenants()->detach($tenant->getKey()); app(\App\Services\Auth\CapabilityResolver::class)->clearCache(); $component ->call('$refresh') ->assertActionHidden('create'); }); });