claude-task-master/tests/integration/providers/temperature-support.test.js
Ben Vargas b43b7ce201
feat: Add Codex CLI provider with OAuth authentication (#1273)
Co-authored-by: Ralph Khreish <35776126+Crunchyman-ralph@users.noreply.github.com>
2025-10-05 22:04:45 +02:00

63 lines
3.0 KiB
JavaScript

/**
* Integration Tests for Provider Temperature Support
*
* This test suite verifies that all providers correctly declare their
* temperature support capabilities. CLI providers should have
* supportsTemperature = false, while standard API providers should
* have supportsTemperature = true.
*
* These tests are separated from unit tests to avoid coupling
* base provider tests with concrete provider implementations.
*/
import { ClaudeCodeProvider } from '../../../src/ai-providers/claude-code.js';
import { CodexCliProvider } from '../../../src/ai-providers/codex-cli.js';
import { GeminiCliProvider } from '../../../src/ai-providers/gemini-cli.js';
import { GrokCliProvider } from '../../../src/ai-providers/grok-cli.js';
import { AnthropicAIProvider } from '../../../src/ai-providers/anthropic.js';
import { OpenAIProvider } from '../../../src/ai-providers/openai.js';
import { GoogleAIProvider } from '../../../src/ai-providers/google.js';
import { PerplexityAIProvider } from '../../../src/ai-providers/perplexity.js';
import { XAIProvider } from '../../../src/ai-providers/xai.js';
import { GroqProvider } from '../../../src/ai-providers/groq.js';
import { OpenRouterAIProvider } from '../../../src/ai-providers/openrouter.js';
import { OllamaAIProvider } from '../../../src/ai-providers/ollama.js';
import { BedrockAIProvider } from '../../../src/ai-providers/bedrock.js';
import { AzureProvider } from '../../../src/ai-providers/azure.js';
import { VertexAIProvider } from '../../../src/ai-providers/google-vertex.js';
describe('Provider Temperature Support', () => {
describe('CLI Providers', () => {
it('should verify CLI providers have supportsTemperature = false', () => {
expect(new ClaudeCodeProvider().supportsTemperature).toBe(false);
expect(new CodexCliProvider().supportsTemperature).toBe(false);
expect(new GeminiCliProvider().supportsTemperature).toBe(false);
expect(new GrokCliProvider().supportsTemperature).toBe(false);
});
});
describe('Standard API Providers', () => {
it('should verify standard providers have supportsTemperature = true', () => {
expect(new AnthropicAIProvider().supportsTemperature).toBe(true);
expect(new OpenAIProvider().supportsTemperature).toBe(true);
expect(new GoogleAIProvider().supportsTemperature).toBe(true);
expect(new PerplexityAIProvider().supportsTemperature).toBe(true);
expect(new XAIProvider().supportsTemperature).toBe(true);
expect(new GroqProvider().supportsTemperature).toBe(true);
expect(new OpenRouterAIProvider().supportsTemperature).toBe(true);
});
});
describe('Special Case Providers', () => {
it('should verify Ollama provider has supportsTemperature = true', () => {
expect(new OllamaAIProvider().supportsTemperature).toBe(true);
});
it('should verify cloud providers have supportsTemperature = true', () => {
expect(new BedrockAIProvider().supportsTemperature).toBe(true);
expect(new AzureProvider().supportsTemperature).toBe(true);
expect(new VertexAIProvider().supportsTemperature).toBe(true);
});
});
});