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.

68 lines (58 loc) 1.82 kB
import { UIChatMessage } from '@lobechat/types'; import { DEFAULT_AGENT_CHAT_CONFIG, DEFAULT_AGENT_CONFIG } from '@/const/settings'; // Test Constants export const TEST_IDS = { ASSISTANT_MESSAGE_ID: 'test-assistant-message-id', FILE_ID: 'test-file-id', MESSAGE_ID: 'test-message-id', NEW_MESSAGE_ID: 'new-message-id', NEW_TOPIC_ID: 'new-topic-id', SESSION_ID: 'test-session-id', TOPIC_ID: 'test-topic-id', USER_MESSAGE_ID: 'test-user-message-id', } as const; export const TEST_CONTENT = { AI_RESPONSE: 'Test AI response', EMPTY: '', RAG_QUERY: 'Test RAG query', USER_MESSAGE: 'Test user message', } as const; // Mock Data Factories export const createMockMessage = (overrides: Partial<UIChatMessage> = {}): UIChatMessage => { const base: any = { content: TEST_CONTENT.USER_MESSAGE, createdAt: Date.now(), id: TEST_IDS.MESSAGE_ID, role: 'user', sessionId: TEST_IDS.SESSION_ID, topicId: TEST_IDS.TOPIC_ID, updatedAt: Date.now(), }; // Merge overrides, preserving all provided properties return { ...base, ...overrides } as UIChatMessage; }; export const createMockMessages = (count: number): UIChatMessage[] => Array.from({ length: count }, (_, i) => createMockMessage({ content: `Message ${i}`, id: `msg-${i}`, }), ); export const createMockAgentConfig = (overrides = {}) => ({ ...DEFAULT_AGENT_CONFIG, ...overrides, }); export const createMockChatConfig = (overrides = {}) => ({ ...DEFAULT_AGENT_CHAT_CONFIG, ...overrides, }); // Mock Store State Factory export const createMockStoreState = (overrides = {}) => ({ activeId: TEST_IDS.SESSION_ID, activeTopicId: TEST_IDS.TOPIC_ID, chatLoadingIds: [], chatLoadingIdsAbortController: undefined, messagesMap: {}, toolCallingStreamIds: {}, ...overrides, });