FactuGES_ERP/tests/e2e/support/ensure-e2e-database.mjs

31 lines
979 B
JavaScript

import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
import { dirname, resolve } from "node:path";
const envFile = resolve("apps/server/.env.e2e");
const env = Object.fromEntries(
readFileSync(envFile, "utf8")
.split(/\r?\n/)
.filter((line) => line && !line.startsWith("#"))
.map((line) => {
const separatorIndex = line.indexOf("=");
return [line.slice(0, separatorIndex), line.slice(separatorIndex + 1)];
})
);
if (env.DB_NAME !== "factuges_erp_e2e") {
throw new Error("E2E requires DB_NAME=factuges_erp_e2e in apps/server/.env.e2e.");
}
const certificatesPath = env.COMPANY_CERTIFICATES_PATH;
if (!certificatesPath) {
throw new Error("E2E requires COMPANY_CERTIFICATES_PATH in apps/server/.env.e2e.");
}
const certificatesFile = resolve("apps/server", certificatesPath);
mkdirSync(dirname(certificatesFile), { recursive: true });
if (!existsSync(certificatesFile)) {
writeFileSync(certificatesFile, "{}\n");
}