UNPKG

@lobehub/chat

Version:

Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.

46 lines (38 loc) 1.2 kB
import { describe, expect, it, vi } from 'vitest'; import { ModelProviderCard } from '@/types/llm'; import { genUserLLMConfig } from './genUserLLMConfig'; // Mock ModelProvider enum vi.mock('@/libs/model-runtime', () => ({ ModelProvider: { Ollama: 'ollama', OpenAI: 'openai', }, })); // Mock ProviderCards and filterEnabledModels vi.mock('@/config/modelProviders', () => ({ OllamaProviderCard: { chatModels: ['ollamaModel1', 'ollamaModel2'], }, OpenAIProviderCard: { chatModels: ['openaiModel1', 'openaiModel2'], }, filterEnabledModels: (providerCard: ModelProviderCard) => providerCard.chatModels, })); describe('genUserLLMConfig', () => { it('should generate correct LLM config for Ollama and OpenAI', () => { const specificConfig = { ollama: { enabled: true, fetchOnClient: true }, openai: { enabled: true }, }; const config = genUserLLMConfig(specificConfig); expect(config.ollama).toEqual({ enabled: true, enabledModels: ['ollamaModel1', 'ollamaModel2'], fetchOnClient: true, }); expect(config.openai).toEqual({ enabled: true, enabledModels: ['openaiModel1', 'openaiModel2'], }); }); });