From f670802b6524ac352b5fcc01054f4046cd511efb Mon Sep 17 00:00:00 2001 From: icarus Date: Wed, 6 Aug 2025 20:23:10 +0800 Subject: [PATCH] =?UTF-8?q?test(services):=20=E6=9B=B4=E6=96=B0ApiService?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E4=B8=AD=E7=9A=84=E6=A8=A1=E5=9E=8B=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=A8=A1=E6=8B=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改测试文件中的模型配置模拟,使用vi.importActual获取原始模块并扩展模拟实现,移除不再使用的SYSTEM_MODELS导入 --- .../src/services/__tests__/ApiService.test.ts | 44 ++++++++++--------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/src/renderer/src/services/__tests__/ApiService.test.ts b/src/renderer/src/services/__tests__/ApiService.test.ts index 415ebd56c8..1d2a2415f3 100644 --- a/src/renderer/src/services/__tests__/ApiService.test.ts +++ b/src/renderer/src/services/__tests__/ApiService.test.ts @@ -15,7 +15,7 @@ import { ApiClientFactory } from '@renderer/aiCore/clients/ApiClientFactory' import { GeminiAPIClient } from '@renderer/aiCore/clients/gemini/GeminiAPIClient' import { OpenAIResponseAPIClient } from '@renderer/aiCore/clients/openai/OpenAIResponseAPIClient' import { GenericChunk } from '@renderer/aiCore/middleware/schemas' -import { isVisionModel, SYSTEM_MODELS } from '@renderer/config/models' +import { isVisionModel } from '@renderer/config/models' import { Assistant, MCPCallToolResponse, MCPToolResponse, Model, Provider, WebSearchSource } from '@renderer/types' import { Chunk, @@ -48,25 +48,29 @@ vi.mock('@renderer/aiCore/clients/ApiClientFactory', () => ({ })) // Mock the models config -vi.mock('@renderer/config/models', () => ({ - isDedicatedImageGenerationModel: vi.fn(() => false), - isTextToImageModel: vi.fn(() => false), - isEmbeddingModel: vi.fn(() => false), - isRerankModel: vi.fn(() => false), - isVisionModel: vi.fn(() => false), - isReasoningModel: vi.fn(() => false), - isWebSearchModel: vi.fn(() => false), - isOpenAIModel: vi.fn(() => false), - isFunctionCallingModel: vi.fn(() => true), - models: { - gemini: { - id: 'gemini-2.5-pro', - name: 'Gemini 2.5 Pro' - } - }, - isAnthropicModel: vi.fn(() => false), - SYSTEM_MODELS -})) +vi.mock('@renderer/config/models', async () => { + const origin = await vi.importActual('@renderer/config/models') + + return { + ...origin, + isDedicatedImageGenerationModel: vi.fn(() => false), + isTextToImageModel: vi.fn(() => false), + isEmbeddingModel: vi.fn(() => false), + isRerankModel: vi.fn(() => false), + isVisionModel: vi.fn(() => false), + isReasoningModel: vi.fn(() => false), + isWebSearchModel: vi.fn(() => false), + isOpenAIModel: vi.fn(() => false), + isFunctionCallingModel: vi.fn(() => true), + models: { + gemini: { + id: 'gemini-2.5-pro', + name: 'Gemini 2.5 Pro' + } + }, + isAnthropicModel: vi.fn(() => false) + } +}) // Mock uuid vi.mock('uuid', () => ({