Files
HiveGrid-Wireframes/hivegrid-cloud/apps/web/app/utils/db/appConfiguration.db.server.test.ts
T

32 lines
1.6 KiB
TypeScript

import { describe, expect, test } from "vitest";
import { readFileSync } from "node:fs";
import { fileURLToPath } from "node:url";
import path from "node:path";
const source = readFileSync(path.join(path.dirname(fileURLToPath(import.meta.url)), "appConfiguration.db.server.ts"), "utf8");
describe("appConfiguration web config adoption", () => {
test("uses loadRequiredWebConfig instead of direct web env reads for public config fields", () => {
expect(source).toContain('import { loadRequiredWebConfig } from "@toolctrl/config"');
expect(source).toContain("const webConfig = loadRequiredWebConfig()");
expect(source).toContain("instanceUrl: webConfig.captcha.instanceUrl ?? \"\"");
expect(source).toContain("const authProviders = getPublicAuthProviders({ request, webConfig })");
expect(source).toContain("enabled: authProviders.magicLink.enabled");
expect(source).not.toContain("authProviders.github");
expect(source).not.toContain('new URL("https://github.com/login/oauth/authorize")');
expect(source).not.toContain("loadWebConfig().config");
expect(source).not.toContain("process.env.AUTH_RECAPTCHA_SITE_KEY");
expect(source).not.toContain("process?.env.GITHUB_OAUTH_CLIENT_ID");
});
test("does not keep removed Forms or Surveys as feature flags", () => {
expect(source).not.toContain("surveys:");
});
test("defaults optional analytics tracking to disabled", () => {
expect(source).toContain("analytics: {\n enabled: false,");
expect(source).toContain("simpleAnalytics: false");
expect(source).toContain("ipLookup: false");
});
});