Files
ABSDEV/tests/Feature/SonarDeskAdminAuthorizationTest.php
2026-10-12 14:50:13 +01:00

25 lines
995 B
PHP

<?php
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Spatie\Permission\Models\Permission;
uses(RefreshDatabase::class);
it('redirects guests away from SonarDesk administration', function (): void {
$this->get('/administration/sonardesk')->assertRedirect();
});
it('denies an authenticated verified user without licensing permission', function (): void {
$user = User::factory()->create(['email_verified_at' => now()]);
$this->actingAs($user)->get('/administration/sonardesk')->assertForbidden();
});
it('allows a verified user granted the licensing permission past authorization', function (): void {
Permission::findOrCreate('manage-sonardesk-licensing', 'web');
$user = User::factory()->create(['email_verified_at' => now()]);
$user->givePermissionTo('manage-sonardesk-licensing');
expect($user->can('manage-sonardesk-licensing'))->toBeTrue();
// Full dashboard request requires licensing migrations and database fixtures.
});