MCPcopy Create free account
hub / github.com/ChatLab/ChatLab / createMockDb

Function createMockDb

packages/core/src/query/__tests__/session-queries.test.ts:52–79  ·  view source on GitHub ↗

* Create a mock DatabaseAdapter whose prepare().get()/all() respond based on SQL patterns.

(handlers: Record<string, (args: unknown[]) => QueryResult | QueryResult[]>)

Source from the content-addressed store, hash-verified

50 * Create a mock DatabaseAdapter whose prepare().get()/all() respond based on SQL patterns.
51 */
52function createMockDb(handlers: Record<string, (args: unknown[]) => QueryResult | QueryResult[]>): DatabaseAdapter {
53 return {
54 prepare(sql: string) {
55 return {
56 get(...args: unknown[]) {
57 for (const [pattern, handler] of Object.entries(handlers)) {
58 if (sql.includes(pattern)) {
59 return handler(args)
60 }
61 }
62 return undefined
63 },
64 all(...args: unknown[]) {
65 for (const [pattern, handler] of Object.entries(handlers)) {
66 if (sql.includes(pattern)) {
67 const result = handler(args)
68 return Array.isArray(result) ? result : [result]
69 }
70 }
71 return []
72 },
73 run() {
74 return { changes: 0, lastInsertRowid: 0 }
75 },
76 }
77 },
78 } as unknown as DatabaseAdapter
79}
80
81// ==================== Tests ====================
82

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected