api-keys.test.ts21 lines · main
| 1 | import { describe, expect, test } from 'bun:test'; |
| 2 | |
| 3 | import { isAssignableKeyRole } from './api-keys.js'; |
| 4 | |
| 5 | describe('isAssignableKeyRole', () => { |
| 6 | test('accepts viewer, developer, admin', () => { |
| 7 | expect(isAssignableKeyRole('viewer')).toBe(true); |
| 8 | expect(isAssignableKeyRole('developer')).toBe(true); |
| 9 | expect(isAssignableKeyRole('admin')).toBe(true); |
| 10 | }); |
| 11 | |
| 12 | test('rejects owner — reserved for human owners', () => { |
| 13 | expect(isAssignableKeyRole('owner')).toBe(false); |
| 14 | }); |
| 15 | |
| 16 | test('rejects unknown strings', () => { |
| 17 | expect(isAssignableKeyRole('superadmin')).toBe(false); |
| 18 | expect(isAssignableKeyRole('')).toBe(false); |
| 19 | expect(isAssignableKeyRole('VIEWER')).toBe(false); |
| 20 | }); |
| 21 | }); |