create(); [$user] = createUserWithTenant(tenant: $tenant, role: 'manager'); $this->actingAs($user); $tenant->makeCurrent(); Filament::setTenant($tenant, true); Livewire::test(EditTenant::class, ['record' => $tenant->getRouteKey()]) ->assertActionVisible('archive') ->assertActionDisabled('archive') ->assertActionExists('archive', function (Action $action): bool { return $action->getTooltip() === 'You do not have permission to archive tenants.'; }) ->mountAction('archive') ->callMountedAction() ->assertSuccessful(); $tenant->refresh(); expect($tenant->trashed())->toBeFalse(); }); it('allows owner members to archive tenant', function () { $tenant = Tenant::factory()->create(); [$user] = createUserWithTenant(tenant: $tenant, role: 'owner'); $this->actingAs($user); $tenant->makeCurrent(); Filament::setTenant($tenant, true); Livewire::test(EditTenant::class, ['record' => $tenant->getRouteKey()]) ->assertActionVisible('archive') ->assertActionEnabled('archive') ->mountAction('archive') ->callMountedAction() ->assertHasNoActionErrors(); $tenant->refresh(); expect($tenant->trashed())->toBeTrue(); }); });