feat(scanner): add scanner authentication and context services with routes and tests

This commit is contained in:
2026-08-11 14:11:23 -03:00
parent 254faedf2c
commit 3eaa3f8202
12 changed files with 316 additions and 4 deletions

View File

@@ -124,8 +124,13 @@ class MenuSeederTest extends TestCase
->where('code', 'main.adminapp')
->orWhere('parent_menu_code', 'main.adminapp')
->pluck('code');
$scannerMenuCodes = Menu::query()
->where('code', 'like', 'scanner.%')
->orderBy('code')
->pluck('code')
->all();
$userMenuCodes = Menu::query()
->whereNotIn('code', $adminAppMenuCodes)
->whereNotIn('code', [...$adminAppMenuCodes, ...$scannerMenuCodes])
->orderBy('code')
->pluck('code')
->all();
@@ -153,9 +158,23 @@ class MenuSeederTest extends TestCase
$this->assertSame($userMenuCodes, $userRoleMenuCodes);
$this->assertNotContains('main.adminapp', $userRoleMenuCodes);
$this->assertNotContains('adminapp.catalog', $userRoleMenuCodes);
$scannerRoleMenuCodes = Role::query()
->where('codigo', RoleCode::Scanner->value)
->firstOrFail()
->menus()
->orderBy('menues.code')
->pluck('menues.code')
->all();
$this->assertSame([
'scanner.detail',
'scanner.inicio',
'scanner.scan',
], $scannerRoleMenuCodes);
$this->assertDatabaseCount(
'roles_menues',
(count($allMenuCodes) * 2) + count($userMenuCodes)
(count($allMenuCodes) * 2) + count($userMenuCodes) + count($scannerMenuCodes)
);
}