import { getWrappedDb } from "../../src/db/sqlite/impl/index.js"; import { SqliteMigrator } from "../../src/db/sqlite/SqliteMigrator.js"; import { SqliteInterface } from "../../src/db/sqlite/SqliteInterface.js"; import type { WrappedDb } from "../../src/db/sqlite/impl/types.js"; export interface TestDb { db: SqliteInterface; wrapped: WrappedDb; close(): void; } export async function createTestDb(): Promise { const wrapped = getWrappedDb("node", ":memory:", {}); const migrator = new SqliteMigrator(wrapped); await migrator.migrateTo(3); const db = new SqliteInterface(wrapped); return { db, wrapped, close: () => wrapped.destroy() }; } export async function createReadonlyTestDb(): Promise { const wrapped = getWrappedDb("node", ":memory:", { readonly: true }); const db = new SqliteInterface(wrapped); return { db, wrapped, close: () => wrapped.destroy() }; }