feat(authorization): refactor role management to use RoleCode enum, update migrations, seeders, and tests

This commit is contained in:
2026-07-31 08:32:00 -03:00
parent a087a511e0
commit b7e1332b8c
11 changed files with 82 additions and 151 deletions

View File

@@ -2,6 +2,7 @@
namespace Tests\Feature\Seeders;
use App\Domains\Authorization\Enums\RoleCode;
use App\Domains\Authorization\Models\Permission;
use App\Domains\Authorization\Models\Role;
use Database\Seeders\AuthorizationSeeder;
@@ -17,7 +18,11 @@ class AuthorizationSeederTest extends TestCase
$this->seed(AuthorizationSeeder::class);
$this->assertSame(
['admin', 'adminapp', 'tenant_admin', 'user'],
[
RoleCode::Admin->value,
RoleCode::AdminApp->value,
RoleCode::User->value,
],
Role::query()->orderBy('codigo')->pluck('codigo')->all()
);
$this->assertCount(22, Permission::query()->get());
@@ -27,15 +32,12 @@ class AuthorizationSeederTest extends TestCase
{
$this->seed(AuthorizationSeeder::class);
$admin = Role::query()->where('codigo', 'admin')->firstOrFail();
$appAdmin = Role::query()->where('codigo', 'adminapp')->firstOrFail();
$tenantAdmin = Role::query()->where('codigo', 'tenant_admin')->firstOrFail();
$user = Role::query()->where('codigo', 'user')->firstOrFail();
$admin = Role::query()->where('codigo', RoleCode::Admin->value)->firstOrFail();
$appAdmin = Role::query()->where('codigo', RoleCode::AdminApp->value)->firstOrFail();
$user = Role::query()->where('codigo', RoleCode::User->value)->firstOrFail();
$this->assertCount(22, $admin->permissions);
$this->assertCount(0, $appAdmin->permissions);
$this->assertCount(21, $tenantAdmin->permissions);
$this->assertFalse($tenantAdmin->permissions->contains('codigo', 'roles.gestionar'));
$this->assertCount(0, $user->permissions);
}
@@ -44,8 +46,8 @@ class AuthorizationSeederTest extends TestCase
$this->seed(AuthorizationSeeder::class);
$this->seed(AuthorizationSeeder::class);
$this->assertCount(4, Role::query()->get());
$this->assertCount(3, Role::query()->get());
$this->assertCount(22, Permission::query()->get());
$this->assertDatabaseCount('roles_permisos', 43);
$this->assertDatabaseCount('roles_permisos', 22);
}
}