api-keys.test.ts21 lines · main
1import { describe, expect, test } from 'bun:test';
2
3import { isAssignableKeyRole } from './api-keys.js';
4
5describe('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});