80 lines
2.7 KiB
JavaScript
80 lines
2.7 KiB
JavaScript
import { OpenAIResponsesConverter } from '../src/converters/strategies/OpenAIResponsesConverter.js';
|
|
|
|
describe('OpenAIResponsesConverter', () => {
|
|
let converter;
|
|
|
|
beforeEach(() => {
|
|
converter = new OpenAIResponsesConverter();
|
|
});
|
|
|
|
test('toGeminiRequest should handle input without explicit type as message', () => {
|
|
const responsesRequest = {
|
|
"model": "gemini-2.0-flash-exp",
|
|
"input": [
|
|
{
|
|
"role": "user",
|
|
"content": [
|
|
{
|
|
"type": "input_text",
|
|
"text": "Hello, world!"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"max_output_tokens": 200
|
|
};
|
|
|
|
const geminiRequest = converter.toGeminiRequest(responsesRequest);
|
|
|
|
expect(geminiRequest.contents).toBeDefined();
|
|
expect(geminiRequest.contents.length).toBe(1);
|
|
expect(geminiRequest.contents[0].role).toBe('user');
|
|
expect(geminiRequest.contents[0].parts[0].text).toBe('Hello, world!');
|
|
});
|
|
|
|
test('toGeminiRequest should handle string content in input', () => {
|
|
const responsesRequest = {
|
|
"model": "gemini-2.0-flash-exp",
|
|
"input": [
|
|
{
|
|
"role": "user",
|
|
"content": "Hello, world!"
|
|
}
|
|
],
|
|
"max_output_tokens": 200
|
|
};
|
|
|
|
const geminiRequest = converter.toGeminiRequest(responsesRequest);
|
|
|
|
expect(geminiRequest.contents).toBeDefined();
|
|
expect(geminiRequest.contents.length).toBe(1);
|
|
expect(geminiRequest.contents[0].role).toBe('user');
|
|
expect(geminiRequest.contents[0].parts[0].text).toBe('Hello, world!');
|
|
});
|
|
|
|
test('toGeminiRequest should handle input with explicit message type', () => {
|
|
const responsesRequest = {
|
|
"model": "gemini-2.0-flash-exp",
|
|
"input": [
|
|
{
|
|
"type": "message",
|
|
"role": "user",
|
|
"content": [
|
|
{
|
|
"type": "input_text",
|
|
"text": "Hello, world!"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"max_output_tokens": 200
|
|
};
|
|
|
|
const geminiRequest = converter.toGeminiRequest(responsesRequest);
|
|
|
|
expect(geminiRequest.contents).toBeDefined();
|
|
expect(geminiRequest.contents.length).toBe(1);
|
|
expect(geminiRequest.contents[0].role).toBe('user');
|
|
expect(geminiRequest.contents[0].parts[0].text).toBe('Hello, world!');
|
|
});
|
|
});
|