Files
api/services/nginx/app/tests/Unit/Subusers/SubuserGrantPermissionsTest.php
T
Jeppe Bundgaard eef436d44b Add tests for subuser password validation and grant permission normalization
Introduce unit and API tests for subuser password policies ensuring compliance with complexity requirements. Normalize subuser grant permission handling for consistency, including support for legacy zero permissions.
2026-05-27 19:17:19 +02:00

26 lines
993 B
PHP

<?php
use objects\subuser_grants_o;
it('keeps default subuser grant permissions JSON encodable', function (): void {
$encoded = json_encode(subuser_grants_o::defaultPermissions, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
expect($encoded)->toBeString();
expect(json_decode($encoded, true))
->toContain('VEHICLES_LIST')
->toContain('SELFSERVE_ADD')
->toContain('BOOKINGS_LIST');
});
it('normalizes stored subuser grant permission payloads', function (): void {
expect(subuser_grants_o::normalizePermissionsValue(0))->toBe([]);
expect(subuser_grants_o::normalizePermissionsValue('0'))->toBe([]);
expect(subuser_grants_o::normalizePermissionsValue('["vehicles_list","BOOKINGS_ADD"]'))
->toBe(['VEHICLES_LIST', 'BOOKINGS_ADD']);
expect(subuser_grants_o::normalizePermissionsValue([
'VEHICLES_LIST' => true,
'BOOKINGS_DELETE' => false,
'UNKNOWN_PERMISSION' => true,
]))->toBe(['VEHICLES_LIST']);
});