import { describe, expect, it } from 'vitest'; import { hasPermissionAccess } from '../src/store/modules/menu-access'; describe('system administrator permission semantics', () => { it('treats the isolated system administrator as having every UI permission', () => { expect(hasPermissionAccess('SYSTEM_ADMIN', [], 'project:project:view')).toBe(true); expect(hasPermissionAccess('SYSTEM_ADMIN', [], 'payment:request:approve')).toBe(true); expect(hasPermissionAccess('SYSTEM_ADMIN', [], 'permission:introduced:after-login')).toBe(true); }); it('keeps ordinary roles restricted to their explicit permission list', () => { const permissions = ['project:project:view']; expect(hasPermissionAccess('PROJECT_MANAGER', permissions, 'project:project:view')).toBe(true); expect(hasPermissionAccess('PROJECT_MANAGER', permissions, 'payment:request:approve')).toBe(false); }); });