43 lines
989 B
TypeScript
43 lines
989 B
TypeScript
/**
|
|
* MockDatabaseConnection — in-memory stub for tests.
|
|
*
|
|
* Substitutes for DatabaseConnection when better-sqlite3 is unavailable
|
|
* (e.g. native binary built for wrong platform).
|
|
* All mutation methods are no-ops; read methods return empty results.
|
|
*/
|
|
|
|
import { QueryBuilder } from '../../server/domains/shared/utils/QueryBuilder.js';
|
|
import { QueryAudit } from '../../server/domains/shared/db/QueryAudit.js';
|
|
|
|
export class MockDatabaseConnection {
|
|
private audit = new QueryAudit();
|
|
|
|
all<T = Record<string, unknown>>(_qb: QueryBuilder): T[] {
|
|
return [];
|
|
}
|
|
|
|
get<T = Record<string, unknown>>(_qb: QueryBuilder): T | null {
|
|
return null;
|
|
}
|
|
|
|
run(_qb: QueryBuilder): number {
|
|
return 0;
|
|
}
|
|
|
|
transaction<T>(fn: () => T): T {
|
|
return fn();
|
|
}
|
|
|
|
raw(): never {
|
|
throw new Error('MockDatabaseConnection: raw() not available in tests');
|
|
}
|
|
|
|
getAudit(): QueryAudit {
|
|
return this.audit;
|
|
}
|
|
|
|
clearStatementCache(): void {}
|
|
|
|
printAudit(): void {}
|
|
}
|