feat(auth): enable event-scoped admin access and backfill staff assignments
This commit is contained in:
@@ -93,9 +93,9 @@ class AdminAppEventScopeTest extends TestCase
|
||||
$this->user = User::query()->findOrFail(1);
|
||||
DB::table('menues')->insert([
|
||||
['code' => 'main.adminapp', 'label' => 'Administración', 'route' => '/', 'parent_menu_code' => null],
|
||||
['code' => 'onticket.adminapp.ventas', 'label' => 'Ventas', 'route' => '/admin/ventas', 'parent_menu_code' => 'main.adminapp'],
|
||||
['code' => 'adminapp.ventas', 'label' => 'Ventas', 'route' => '/admin/ventas', 'parent_menu_code' => 'main.adminapp'],
|
||||
]);
|
||||
foreach (['main.adminapp', 'onticket.adminapp.ventas'] as $code) {
|
||||
foreach (['main.adminapp', 'adminapp.ventas'] as $code) {
|
||||
DB::table('roles_menues')->insert(['rol_codigo' => 'adminapp', 'menu_codigo' => $code]);
|
||||
DB::table('tenants_menues')->insert(['tenant_code' => 'onticket', 'menu_code' => $code]);
|
||||
}
|
||||
@@ -132,7 +132,7 @@ class AdminAppEventScopeTest extends TestCase
|
||||
$this->withToken($token)->getJson('/api/v1/adminapp/me')->assertOk()
|
||||
->assertJsonPath('data.event.id', 1)->assertJsonPath('data.event.title', 'Evento A')
|
||||
->assertJsonPath('data.tenant.codigo', 'onticket')
|
||||
->assertJsonCount(0, 'data.tenant.menues.0.submenues');
|
||||
->assertJsonCount(1, 'data.tenant.menues.0.submenues');
|
||||
$this->assertSame(['adminapp'], $this->user->tokens()->sole()->abilities);
|
||||
}
|
||||
|
||||
@@ -156,7 +156,7 @@ class AdminAppEventScopeTest extends TestCase
|
||||
{
|
||||
$this->user->update(['admin_scope' => 'event', 'event_id' => 1]);
|
||||
$token = $this->login()->assertOk()->json('token');
|
||||
foreach (['tenant/sales', 'tenant/tickets', 'tenant/event', 'tenant/administrators', 'forms/event'] as $path) {
|
||||
foreach (['tenant/tickets', 'tenant/administrators', 'tenant/website-extras', 'forms/tickets-filter'] as $path) {
|
||||
$this->withToken($token)->getJson('/api/v1/adminapp/'.$path)->assertForbidden();
|
||||
}
|
||||
$this->withToken($token)->postJson('/api/v1/adminapp/tenant/administrators', [])->assertForbidden();
|
||||
|
||||
Reference in New Issue
Block a user