add role permission logic

This commit is contained in:
root
2026-03-10 17:11:48 -04:00
parent abebe0d9c0
commit c235fd2170
40 changed files with 1896 additions and 838 deletions
@@ -0,0 +1,45 @@
<?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,
]);
}
}