Files
alrahma_sunday_school_api/tests/Unit/Services/Auth/PermissionCheckServiceTest.php
T
2026-06-09 01:25:14 -04:00

43 lines
1.1 KiB
PHP

<?php
namespace Tests\Unit\Services\Auth;
use App\Services\Auth\PermissionCheckService;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Support\Facades\DB;
use Tests\TestCase;
class PermissionCheckServiceTest extends TestCase
{
use RefreshDatabase;
public function test_has_permission_returns_true_when_assigned(): void
{
$permissionId = DB::table('permissions')->insertGetId([
'name' => 'edit_students',
'description' => 'Edit students',
]);
$roleId = DB::table('roles')->insertGetId([
'name' => 'admin',
'priority' => 1,
]);
DB::table('user_roles')->insert([
'user_id' => 10,
'role_id' => $roleId,
]);
DB::table('role_permissions')->insert([
'role_id' => $roleId,
'permission_id' => $permissionId,
'can_read' => 1,
]);
$service = new PermissionCheckService;
$this->assertTrue($service->hasPermission(10, 'edit_students'));
$this->assertFalse($service->hasPermission(10, 'missing_perm'));
}
}