UNPKG

review-copilot

Version:

ReviewCopilot - AI-powered code review assistant with customizable prompts

48 lines (47 loc) 1.91 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const ai_provider_factory_1 = require("../providers/ai-provider-factory"); const openai_provider_1 = require("../providers/openai-provider"); const deepseek_provider_1 = require("../providers/deepseek-provider"); jest.mock('../providers/openai-provider'); jest.mock('../providers/deepseek-provider'); describe('AIProviderFactory', () => { const openaiConfig = { provider: 'openai', apiKey: 'key', model: '', baseURL: '', reviewLanguage: 'en', }; const deepseekConfig = { provider: 'deepseek', apiKey: 'key', model: '', baseURL: '', reviewLanguage: 'en', }; afterEach(() => { jest.clearAllMocks(); }); it('should create an OpenAIProvider for openai config', () => { const provider = ai_provider_factory_1.AIProviderFactory.createProvider(openaiConfig); expect(openai_provider_1.OpenAIProvider).toHaveBeenCalledWith(expect.objectContaining({ provider: 'openai', apiKey: 'key', reviewLanguage: 'en', })); expect(provider).toBeInstanceOf(openai_provider_1.OpenAIProvider); }); it('should create a DeepSeekProvider for deepseek config', () => { const provider = ai_provider_factory_1.AIProviderFactory.createProvider(deepseekConfig); expect(deepseek_provider_1.DeepSeekProvider).toHaveBeenCalledWith(expect.objectContaining({ provider: 'deepseek', apiKey: 'key', reviewLanguage: 'en', })); expect(provider).toBeInstanceOf(deepseek_provider_1.DeepSeekProvider); }); it('should throw for unsupported provider', () => { expect(() => ai_provider_factory_1.AIProviderFactory.createProvider({ provider: 'foo' })).toThrow('Unsupported AI provider: foo'); }); });