Files
2026-06-11 11:46:12 -04:00

46 lines
1.3 KiB
PHP

<?php
namespace Tests\Unit\Services\Roles;
use App\Services\Roles\RolePermissionService;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Support\Facades\DB;
use Tests\TestCase;
class RolePermissionServiceTest extends TestCase
{
use RefreshDatabase;
public function test_save_role_permissions_persists_rows(): void
{
$roleId = DB::table('roles')->insertGetId([
'name' => 'admin',
'slug' => 'admin',
'description' => 'Admin',
'dashboard_route' => 'administrator/administratordashboard',
'priority' => 1,
'is_active' => 1,
'created_at' => now(),
'updated_at' => now(),
]);
$permissionId = DB::table('permissions')->insertGetId([
'name' => 'manage_roles',
'description' => 'Manage roles',
'created_at' => now(),
'updated_at' => now(),
]);
$service = new RolePermissionService;
$service->saveRolePermissions($roleId, [
$permissionId => ['create' => true, 'read' => true],
]);
$this->assertDatabaseHas('role_permissions', [
'role_id' => $roleId,
'permission_id' => $permissionId,
'can_create' => 1,
'can_read' => 1,
]);
}
}