33 lines
1.2 KiB
JavaScript
33 lines
1.2 KiB
JavaScript
import { describe, expect, test } from '@jest/globals';
|
|
import {
|
|
extractModelIdsFromNativeList,
|
|
getConfiguredSupportedModels,
|
|
usesManagedModelList
|
|
} from '../src/providers/provider-models.js';
|
|
|
|
describe('provider-models helpers', () => {
|
|
test('recognizes managed model list providers', () => {
|
|
expect(usesManagedModelList('openai-custom')).toBe(true);
|
|
expect(usesManagedModelList('openaiResponses-custom-lab')).toBe(true);
|
|
expect(usesManagedModelList('gemini-cli-oauth')).toBe(false);
|
|
});
|
|
|
|
test('normalizes supported models for managed providers', () => {
|
|
expect(getConfiguredSupportedModels('openai-custom', {
|
|
supportedModels: [' gpt-4o-mini ', '', 'gpt-4o-mini', 'gpt-4.1']
|
|
})).toEqual(['gpt-4.1', 'gpt-4o-mini']);
|
|
|
|
expect(getConfiguredSupportedModels('gemini-cli-oauth', {
|
|
supportedModels: ['gemini-2.5-flash']
|
|
})).toEqual([]);
|
|
});
|
|
|
|
test('extracts model ids from openai-style model lists', () => {
|
|
expect(extractModelIdsFromNativeList({
|
|
data: [
|
|
{ id: 'gpt-4o-mini' },
|
|
{ id: 'gpt-4.1' }
|
|
]
|
|
}, 'openai-custom')).toEqual(['gpt-4.1', 'gpt-4o-mini']);
|
|
});
|
|
});
|