22 lines
599 B
TypeScript
22 lines
599 B
TypeScript
import { Database } from "bun:sqlite";
|
|
import { drizzle } from "drizzle-orm/bun-sqlite";
|
|
import { migrate } from "drizzle-orm/bun-sqlite/migrator";
|
|
import * as schema from "../../src/db/schema.ts";
|
|
|
|
export function createTestDb() {
|
|
const sqlite = new Database(":memory:");
|
|
sqlite.run("PRAGMA foreign_keys = ON");
|
|
|
|
const db = drizzle(sqlite, { schema });
|
|
|
|
// Apply all migrations to create tables
|
|
migrate(db, { migrationsFolder: "./drizzle" });
|
|
|
|
// Seed default Uncategorized category
|
|
db.insert(schema.categories)
|
|
.values({ name: "Uncategorized", icon: "package" })
|
|
.run();
|
|
|
|
return db;
|
|
}
|