From 08a537bfe4bfafcf1b7060557698f6c8001d191b Mon Sep 17 00:00:00 2001 From: suyao Date: Wed, 3 Dec 2025 12:15:53 +0800 Subject: [PATCH] fix: test --- .../apiServer/services/unified-messages.ts | 7 +++-- .../config/models/__tests__/tooluse.test.ts | 23 +++++++++++++++ .../src/config/models/__tests__/utils.test.ts | 28 +++++++++++++++++++ src/renderer/src/utils/api.ts | 1 + 4 files changed, 56 insertions(+), 3 deletions(-) diff --git a/src/main/apiServer/services/unified-messages.ts b/src/main/apiServer/services/unified-messages.ts index c418f8c434..cfcdb48393 100644 --- a/src/main/apiServer/services/unified-messages.ts +++ b/src/main/apiServer/services/unified-messages.ts @@ -322,9 +322,10 @@ function convertAnthropicToAiMessages(params: MessageCreateParams): ModelMessage } } if (openRouterReasoningCache.get(`openrouter-${block.id}`)) { - options.openrouter = { - reasoning_details: (sanitizeJson(openRouterReasoningCache.get(`openrouter-${block.id}`)) as JSONValue[]) || [] - } + options.openrouter = { + reasoning_details: + (sanitizeJson(openRouterReasoningCache.get(`openrouter-${block.id}`)) as JSONValue[]) || [] + } } toolCallParts.push({ type: 'tool-call', diff --git a/src/renderer/src/config/models/__tests__/tooluse.test.ts b/src/renderer/src/config/models/__tests__/tooluse.test.ts index e147e87f2f..24653f9a2c 100644 --- a/src/renderer/src/config/models/__tests__/tooluse.test.ts +++ b/src/renderer/src/config/models/__tests__/tooluse.test.ts @@ -6,6 +6,29 @@ import { isDeepSeekHybridInferenceModel } from '../reasoning' import { isFunctionCallingModel } from '../tooluse' import { isPureGenerateImageModel, isTextToImageModel } from '../vision' +vi.mock('@renderer/i18n', () => ({ + __esModule: true, + default: { + t: vi.fn((key: string) => key) + } +})) + +vi.mock('@renderer/services/AssistantService', () => ({ + getProviderByModel: vi.fn().mockReturnValue({ + id: 'openai', + type: 'openai', + name: 'OpenAI', + models: [] + }), + getAssistantSettings: vi.fn(), + getDefaultAssistant: vi.fn().mockReturnValue({ + id: 'default', + name: 'Default Assistant', + prompt: '', + settings: {} + }) +})) + vi.mock('@renderer/hooks/useStore', () => ({ getStoreProviders: vi.fn(() => []) })) diff --git a/src/renderer/src/config/models/__tests__/utils.test.ts b/src/renderer/src/config/models/__tests__/utils.test.ts index 618a9e9dfe..a9387cc3f7 100644 --- a/src/renderer/src/config/models/__tests__/utils.test.ts +++ b/src/renderer/src/config/models/__tests__/utils.test.ts @@ -68,6 +68,29 @@ vi.mock('@renderer/store/settings', () => { ) }) +vi.mock('@renderer/i18n', () => ({ + __esModule: true, + default: { + t: vi.fn((key: string) => key) + } +})) + +vi.mock('@renderer/services/AssistantService', () => ({ + getProviderByModel: vi.fn().mockReturnValue({ + id: 'openai', + type: 'openai', + name: 'OpenAI', + models: [] + }), + getAssistantSettings: vi.fn(), + getDefaultAssistant: vi.fn().mockReturnValue({ + id: 'default', + name: 'Default Assistant', + prompt: '', + settings: {} + }) +})) + vi.mock('@renderer/hooks/useSettings', () => ({ useSettings: vi.fn(() => ({})), useNavbarPosition: vi.fn(() => ({ navbarPosition: 'left' })), @@ -98,6 +121,10 @@ vi.mock('../websearch', () => ({ isOpenAIWebSearchChatCompletionOnlyModel: vi.fn() })) +vi.mock('../tooluse', () => ({ + isFunctionCallingModel: vi.fn() +})) + const createModel = (overrides: Partial = {}): Model => ({ id: 'gpt-4o', name: 'gpt-4o', @@ -125,6 +152,7 @@ describe('model utils', () => { generateImageMock.mockReturnValue(false) reasoningMock.mockReturnValue(false) openAIWebSearchOnlyMock.mockReturnValue(false) + isFunctionCallingModelMock.mockReturnValue(true) }) describe('OpenAI model detection', () => { diff --git a/src/renderer/src/utils/api.ts b/src/renderer/src/utils/api.ts index 0bdb4cc999..3c9b8b0465 100644 --- a/src/renderer/src/utils/api.ts +++ b/src/renderer/src/utils/api.ts @@ -10,6 +10,7 @@ export { SUPPORTED_IMAGE_ENDPOINT_LIST, validateApiHost, withoutTrailingApiVersion, + withoutTrailingSharp, withoutTrailingSlash } from '@shared/api'