Files
kaidi/frontend/tests/super-admin-access.test.ts
T
2026-08-17 14:08:40 +08:00

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);
});
});