| import { vi } from "vitest"; |
|
|
| |
| |
| type AnyMock = any; |
|
|
| const hoisted = vi.hoisted(() => ({ |
| embedBatch: vi.fn(async (texts: string[]) => texts.map(() => [0, 1, 0])), |
| embedQuery: vi.fn(async () => [0, 1, 0]), |
| })); |
|
|
| export function getEmbedBatchMock(): AnyMock { |
| return hoisted.embedBatch; |
| } |
|
|
| export function getEmbedQueryMock(): AnyMock { |
| return hoisted.embedQuery; |
| } |
|
|
| export function resetEmbeddingMocks(): void { |
| hoisted.embedBatch.mockReset(); |
| hoisted.embedQuery.mockReset(); |
| hoisted.embedBatch.mockImplementation(async (texts: string[]) => texts.map(() => [0, 1, 0])); |
| hoisted.embedQuery.mockImplementation(async () => [0, 1, 0]); |
| } |
|
|
| |
| vi.mock("chokidar", () => ({ |
| default: { |
| watch: () => ({ on: () => {}, close: async () => {} }), |
| }, |
| watch: () => ({ on: () => {}, close: async () => {} }), |
| })); |
|
|
| vi.mock("./sqlite-vec.js", () => ({ |
| loadSqliteVecExtension: async () => ({ ok: false, error: "sqlite-vec disabled in tests" }), |
| })); |
|
|
| vi.mock("./embeddings.js", () => ({ |
| createEmbeddingProvider: async () => ({ |
| requestedProvider: "openai", |
| provider: { |
| id: "mock", |
| model: "mock-embed", |
| maxInputTokens: 8192, |
| embedQuery: hoisted.embedQuery, |
| embedBatch: hoisted.embedBatch, |
| }, |
| }), |
| })); |
|
|