fix: prevent tests from creating stale backend/data directory (#112)
Extract DB utility functions (buildDbUrl, getDbPaths, ensureDataDirectory, runAlterMigrations, etc.) from client.ts into db-utils.ts. client.ts contained top-level initialization code (ensureDataDirectory, createClient) that ran on every import. database.test.ts imported utility functions from client.ts, which triggered the initialization as a side effect — creating backend/data/ with a .write-test file and medassist-ng.db every time tests ran. Now database.test.ts imports from db-utils.ts (side-effect-free), and client.ts re-exports everything for backward compatibility.
This commit is contained in:
@@ -7,7 +7,7 @@ import { drizzle } from "drizzle-orm/libsql";
|
||||
import { migrate } from "drizzle-orm/libsql/migrator";
|
||||
import { afterEach, beforeEach, describe, expect, it } from "vitest";
|
||||
|
||||
// Import the exported utility functions from client.ts
|
||||
// Import utility functions from db-utils (no side effects, unlike client.ts which initializes the DB)
|
||||
import {
|
||||
buildDbUrl,
|
||||
ensureDataDirectory,
|
||||
@@ -17,7 +17,7 @@ import {
|
||||
repairTrailingHyphenDoseIds,
|
||||
runAlterMigrations,
|
||||
runDrizzleMigrations,
|
||||
} from "../db/client.js";
|
||||
} from "../db/db-utils.js";
|
||||
|
||||
// Import the exported utility functions from migrate.ts
|
||||
import { executeMigration, getStatementPreview, splitSQLStatements } from "../db/migrate.js";
|
||||
|
||||
Reference in New Issue
Block a user