create(['role' => 'super_admin']); $this->bootSuperAdminPanel($user); Livewire::test(SupportApiTokenManager::class) ->callTableAction('create_support_token', null, [ 'name' => 'support-api', 'abilities' => ['support:read'], 'expires_at' => now()->addDays(7)->toDateTimeString(), ]); $token = PersonalAccessToken::query() ->where('tokenable_id', $user->getKey()) ->where('tokenable_type', $user->getMorphClass()) ->where('name', 'support-api') ->latest('id') ->first(); $this->assertNotNull($token); $this->assertContains('support-admin', $token->abilities ?? []); $this->assertContains('support:read', $token->abilities ?? []); $this->assertNotNull($token->expires_at); } public function test_superadmin_can_revoke_support_api_token(): void { $user = User::factory()->create(['role' => 'super_admin']); $token = $user->createToken('support-api', ['support:read'])->accessToken; $this->bootSuperAdminPanel($user); Livewire::test(SupportApiTokenManager::class) ->callTableAction('revoke', $token); $this->assertFalse(PersonalAccessToken::query()->whereKey($token->getKey())->exists()); } private function bootSuperAdminPanel(User $user): void { $panel = Filament::getPanel('superadmin'); $this->assertNotNull($panel); Filament::setCurrentPanel($panel); Filament::bootCurrentPanel(); Filament::auth()->login($user); } }