import { describe, it, expect } from 'vitest'; import { hasPermission } from './permissions'; describe('hasPermission', () => { it('returns false (not a crash) for a "user" role on an admin-only resource', () => { expect(() => hasPermission('user', 'admin', 'access')).not.toThrow(); expect(hasPermission('user', 'admin', 'access')).toBe(false); }); it('returns true for "admin" role on an admin-gated resource', () => { expect(hasPermission('admin', 'admin', 'access')).toBe(true); }); it('returns true for "super-admin" role on an admin-gated resource', () => { expect(hasPermission('super-admin', 'admin', 'access')).toBe(true); }); it('returns true for "user" role on a permitted resource', () => { expect(hasPermission('user', 'tickets', 'read')).toBe(true); }); it('returns false for an unknown role', () => { expect(hasPermission('bogus-role', 'admin', 'access')).toBe(false); }); });