Files
akanealw 99819b70ff
Some checks failed
Build and Push Docker Images (Trusted) / build-and-push (., docker/caddy/Dockerfile, caddy) (push) Has been cancelled
Build and Push Docker Images (Trusted) / build-and-push (., docker/l4-port-manager/Dockerfile, l4-port-manager) (push) Has been cancelled
Build and Push Docker Images (Trusted) / build-and-push (., docker/web/Dockerfile, web) (push) Has been cancelled
Tests / test (push) Has been cancelled
added caddy-proxy-manager for testing
2026-04-21 22:49:08 +00:00

21 lines
715 B
TypeScript
Executable File

import Database from 'better-sqlite3';
import { drizzle } from 'drizzle-orm/better-sqlite3';
import { migrate } from 'drizzle-orm/better-sqlite3/migrator';
import { resolve } from 'node:path';
import * as schema from '../../src/lib/db/schema';
const migrationsFolder = resolve(process.cwd(), 'drizzle');
export type TestDb = ReturnType<typeof drizzle<typeof schema>>;
/**
* Creates a fresh in-memory SQLite database with all migrations applied.
* Each call returns a completely isolated database instance.
*/
export function createTestDb(): TestDb {
const sqlite = new Database(':memory:');
const db = drizzle(sqlite, { schema, casing: 'snake_case' });
migrate(db, { migrationsFolder });
return db;
}