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.

48 lines (38 loc) 1.29 kB
// @vitest-environment node import { beforeEach, describe, expect, it, vi } from 'vitest'; import { toolsEnv } from '@/config/tools'; import { isServerMode } from '@/const/version'; /** * This file contains the root router of your tRPC-backend */ import { createCallerFactory } from '@/libs/trpc'; import { AuthContext, createContextInner } from '@/server/context'; import { SearXNGClient } from '@/server/modules/SearXNG'; import { searchRouter } from '../search'; import { hetongxue } from './fixtures/searXNG'; vi.mock('@/config/tools', () => ({ toolsEnv: { SEARXNG_URL: 'https://demo.com', }, })); vi.mock('@/const/version', () => ({ isServerMode: true, })); const createCaller = createCallerFactory(searchRouter); let ctx: AuthContext; let router: ReturnType<typeof createCaller>; beforeEach(async () => { vi.resetAllMocks(); ctx = await createContextInner({ userId: 'mock' }); router = createCaller(ctx); }); describe('searchRouter', () => { describe('search', () => { it('搜索结果超过10个', async () => { vi.spyOn(SearXNGClient.prototype, 'search').mockResolvedValueOnce(hetongxue); const results = await router.query({ query: '何同学' }); // Assert expect(results.results.length).toEqual(43); }); }); });