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

Function createInMemoryDb

packages/core/src/query/__tests__/member-ops.test.ts:12–46  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

10import { updateMemberAliases, mergeMembers, deleteMember, ensureAliasesColumn, ensureAvatarColumn } from '../member-ops'
11
12function createInMemoryDb(): DatabaseAdapter & { rows: Map<string, Record<string, unknown>[]>; execLog: string[] } {
13 const rows = new Map<string, Record<string, unknown>[]>()
14 const execLog: string[] = []
15
16 return {
17 rows,
18 execLog,
19 exec(sql: string) {
20 execLog.push(sql)
21 },
22 prepare(sql: string): PreparedStatement {
23 return {
24 get(..._params: unknown[]): Record<string, unknown> | undefined {
25 return rows.get(sql)?.[0]
26 },
27 all(..._params: unknown[]): Record<string, unknown>[] {
28 return rows.get(sql) ?? []
29 },
30 run(..._params: unknown[]): RunResult {
31 execLog.push(`run:${sql.trim().substring(0, 50)}`)
32 return { changes: 1 }
33 },
34 }
35 },
36 transaction<T>(fn: () => T): T {
37 return fn()
38 },
39 pragma() {
40 return undefined
41 },
42 close() {
43 /* no-op */
44 },
45 }
46}
47
48describe('updateMemberAliases', () => {
49 it('returns true on success', () => {

Callers 1

member-ops.test.tsFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected