diff --git a/src/memory/search-manager.test.ts b/src/memory/search-manager.test.ts index 1f705aeddcf..a4feba3f25b 100644 --- a/src/memory/search-manager.test.ts +++ b/src/memory/search-manager.test.ts @@ -29,48 +29,67 @@ function createManagerStatus(params: { }; } +function createManagerMock(params: { + backend: "qmd" | "builtin"; + provider: string; + model: string; + requestedProvider: string; + searchResults?: Array<{ + path: string; + startLine: number; + endLine: number; + score: number; + snippet: string; + source: "memory"; + }>; + withMemorySourceCounts?: boolean; +}) { + return { + search: vi.fn(async () => params.searchResults ?? []), + readFile: vi.fn(async () => ({ text: "", path: "MEMORY.md" })), + status: vi.fn(() => + createManagerStatus({ + backend: params.backend, + provider: params.provider, + model: params.model, + requestedProvider: params.requestedProvider, + withMemorySourceCounts: params.withMemorySourceCounts, + }), + ), + sync: vi.fn(async () => {}), + probeEmbeddingAvailability: vi.fn(async () => ({ ok: true })), + probeVectorAvailability: vi.fn(async () => true), + close: vi.fn(async () => {}), + }; +} + const mockPrimary = vi.hoisted(() => ({ - search: vi.fn(async () => []), - readFile: vi.fn(async () => ({ text: "", path: "MEMORY.md" })), - status: vi.fn(() => - createManagerStatus({ - backend: "qmd", - provider: "qmd", - model: "qmd", - requestedProvider: "qmd", - withMemorySourceCounts: true, - }), - ), - sync: vi.fn(async () => {}), - probeEmbeddingAvailability: vi.fn(async () => ({ ok: true })), - probeVectorAvailability: vi.fn(async () => true), - close: vi.fn(async () => {}), + ...createManagerMock({ + backend: "qmd", + provider: "qmd", + model: "qmd", + requestedProvider: "qmd", + withMemorySourceCounts: true, + }), })); const fallbackManager = vi.hoisted(() => ({ - search: vi.fn(async () => [ - { - path: "MEMORY.md", - startLine: 1, - endLine: 1, - score: 1, - snippet: "fallback", - source: "memory" as const, - }, - ]), - readFile: vi.fn(async () => ({ text: "", path: "MEMORY.md" })), - status: vi.fn(() => - createManagerStatus({ - backend: "builtin", - provider: "openai", - model: "text-embedding-3-small", - requestedProvider: "openai", - }), - ), - sync: vi.fn(async () => {}), - probeEmbeddingAvailability: vi.fn(async () => ({ ok: true })), - probeVectorAvailability: vi.fn(async () => true), - close: vi.fn(async () => {}), + ...createManagerMock({ + backend: "builtin", + provider: "openai", + model: "text-embedding-3-small", + requestedProvider: "openai", + searchResults: [ + { + path: "MEMORY.md", + startLine: 1, + endLine: 1, + score: 1, + snippet: "fallback", + source: "memory", + }, + ], + }), })); const fallbackSearch = fallbackManager.search;