18 lines
903 B
TypeScript
18 lines
903 B
TypeScript
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);
|
|
});
|
|
});
|