AIClient-2-API/tests/provider-models.unit.test.js

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']);
});
});