test: share memory search manager fixtures

This commit is contained in:
Peter Steinberger
2026-03-13 21:08:05 +00:00
parent 7eb38e8f7b
commit 95f8b91c8a

View File

@@ -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(() => ({ const mockPrimary = vi.hoisted(() => ({
search: vi.fn(async () => []), ...createManagerMock({
readFile: vi.fn(async () => ({ text: "", path: "MEMORY.md" })), backend: "qmd",
status: vi.fn(() => provider: "qmd",
createManagerStatus({ model: "qmd",
backend: "qmd", requestedProvider: "qmd",
provider: "qmd", withMemorySourceCounts: true,
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 () => {}),
})); }));
const fallbackManager = vi.hoisted(() => ({ const fallbackManager = vi.hoisted(() => ({
search: vi.fn(async () => [ ...createManagerMock({
{ backend: "builtin",
path: "MEMORY.md", provider: "openai",
startLine: 1, model: "text-embedding-3-small",
endLine: 1, requestedProvider: "openai",
score: 1, searchResults: [
snippet: "fallback", {
source: "memory" as const, path: "MEMORY.md",
}, startLine: 1,
]), endLine: 1,
readFile: vi.fn(async () => ({ text: "", path: "MEMORY.md" })), score: 1,
status: vi.fn(() => snippet: "fallback",
createManagerStatus({ source: "memory",
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 () => {}),
})); }));
const fallbackSearch = fallbackManager.search; const fallbackSearch = fallbackManager.search;