forge/tests/Feature/User/DeleteApiTokenTest.php

30 lines
875 B
PHP
Raw Normal View History

2024-07-18 00:11:32 -04:00
<?php
2025-01-30 00:23:55 -05:00
declare(strict_types=1);
2024-07-18 00:11:32 -04:00
use App\Models\User;
use Illuminate\Support\Str;
use Laravel\Jetstream\Features;
use Laravel\Jetstream\Http\Livewire\ApiTokenManager;
use Livewire\Livewire;
2025-01-30 00:23:55 -05:00
test('api tokens can be deleted', function (): void {
2024-07-18 00:11:32 -04:00
if (Features::hasTeamFeatures()) {
$this->actingAs($user = User::factory()->withPersonalTeam()->create());
} else {
$this->actingAs($user = User::factory()->create());
}
$token = $user->tokens()->create([
'name' => 'Test Token',
'token' => Str::random(40),
'abilities' => ['create', 'read'],
]);
Livewire::test(ApiTokenManager::class)
->set(['apiTokenIdBeingDeleted' => $token->id])
->call('deleteApiToken');
expect($user->fresh()->tokens)->toHaveCount(0);
2025-01-30 00:23:55 -05:00
})->skip(fn (): bool => ! Features::hasApiFeatures(), 'API support is not enabled.');