mirror of
https://github.com/tiennm99/ccs.git
synced 2026-07-16 08:17:11 +00:00
- update CLI, API, route, and dashboard surfaces to recognize the Codex runtime target - normalize persisted codex targets back to claude so runtime-only behavior stays truthful - add regression coverage for help text, route parsing, and profile storage normalization Refs #773
30 lines
1.2 KiB
TypeScript
30 lines
1.2 KiB
TypeScript
import { describe, expect, it } from 'bun:test';
|
|
|
|
import { parseTarget as parseProfileTarget } from '../../../src/web-server/routes/profile-routes';
|
|
import { parseTarget as parseVariantTarget } from '../../../src/web-server/routes/variant-routes';
|
|
|
|
describe('route target parsing', () => {
|
|
it('accepts valid target values', () => {
|
|
expect(parseProfileTarget('claude')).toBe('claude');
|
|
expect(parseProfileTarget('DROID')).toBe('droid');
|
|
expect(parseVariantTarget(' claude ')).toBe('claude');
|
|
expect(parseVariantTarget('droid')).toBe('droid');
|
|
});
|
|
|
|
it('returns null for invalid target values', () => {
|
|
expect(parseProfileTarget('glm')).toBeNull();
|
|
expect(parseProfileTarget('codex')).toBeNull();
|
|
expect(parseProfileTarget('')).toBeNull();
|
|
expect(parseVariantTarget('factory')).toBeNull();
|
|
expect(parseVariantTarget('codex')).toBeNull();
|
|
expect(parseVariantTarget(' ')).toBeNull();
|
|
});
|
|
|
|
it('returns null for non-string values', () => {
|
|
expect(parseProfileTarget(undefined)).toBeNull();
|
|
expect(parseProfileTarget(null)).toBeNull();
|
|
expect(parseVariantTarget(123)).toBeNull();
|
|
expect(parseVariantTarget({ target: 'claude' })).toBeNull();
|
|
});
|
|
});
|