mirror of
https://github.com/tiennm99/ccs.git
synced 2026-10-04 20:13:18 +00:00
Add a Requesty provider preset to the provider preset catalog, mirroring the existing OpenRouter preset (base https://router.requesty.ai/v1, default model openai/gpt-4o-mini, OpenAI-compatible).
58 lines
2.0 KiB
TypeScript
58 lines
2.0 KiB
TypeScript
import { describe, expect, it } from 'bun:test';
|
|
import { getPresetById, isValidPresetId } from '../../../src/api/services/provider-presets';
|
|
import { PROVIDER_PRESET_IDS } from '../../../src/shared/provider-preset-catalog';
|
|
|
|
describe('provider-presets-requesty', () => {
|
|
it('resolves requesty preset id', () => {
|
|
const preset = getPresetById('requesty');
|
|
expect(preset?.id).toBe('requesty');
|
|
expect(preset?.baseUrl).toBe('https://router.requesty.ai/v1');
|
|
expect(preset?.defaultProfileName).toBe('requesty');
|
|
});
|
|
|
|
it('registers requesty in PROVIDER_PRESET_IDS', () => {
|
|
expect(PROVIDER_PRESET_IDS).toContain('requesty');
|
|
});
|
|
|
|
it('uses the OpenAI-compatible base URL with a /v1 suffix', () => {
|
|
const preset = getPresetById('requesty');
|
|
expect(preset?.baseUrl).toBe('https://router.requesty.ai/v1');
|
|
expect(preset?.baseUrl.endsWith('/v1')).toBe(true);
|
|
});
|
|
|
|
it('pins a provider/model default (openai/gpt-4o-mini)', () => {
|
|
const preset = getPresetById('requesty');
|
|
expect(preset?.defaultModel).toBe('openai/gpt-4o-mini');
|
|
});
|
|
|
|
it('validates requesty preset requires an API key', () => {
|
|
const preset = getPresetById('requesty');
|
|
expect(preset?.requiresApiKey).toBe(true);
|
|
});
|
|
|
|
it('is a plain (non-featured) alternative provider', () => {
|
|
const preset = getPresetById('requesty');
|
|
expect(preset?.category).toBe('alternative');
|
|
expect(preset?.featured).toBeUndefined();
|
|
});
|
|
|
|
it('treats requesty as a valid preset id', () => {
|
|
expect(isValidPresetId('requesty')).toBe(true);
|
|
});
|
|
|
|
it('handles whitespace in requesty preset id', () => {
|
|
const preset = getPresetById(' requesty ');
|
|
expect(preset?.id).toBe('requesty');
|
|
});
|
|
|
|
it('handles uppercase requesty preset id', () => {
|
|
const preset = getPresetById('REQUESTY');
|
|
expect(preset?.id).toBe('requesty');
|
|
});
|
|
|
|
it('does not resolve partial or invalid requesty ids', () => {
|
|
expect(getPresetById('requesty-invalid')).toBeUndefined();
|
|
expect(isValidPresetId('requesty-invalid')).toBe(false);
|
|
});
|
|
});
|