65 lines
2.9 KiB
TypeScript
65 lines
2.9 KiB
TypeScript
import { readFileSync } from "node:fs";
|
|
import path from "node:path";
|
|
import { describe, expect, it } from "vitest";
|
|
import { resolveAdminDashboardUrl, resolveAdminLoginUrl } from "./e2e/utils/auth";
|
|
|
|
const requiredPilotSmokes = [
|
|
"tests/e2e/crm-interim-smoke.spec.ts",
|
|
"tests/e2e/integrations.spec.ts",
|
|
"tests/e2e/kwp-project-import.smoke.spec.ts",
|
|
"tests/e2e/leads-interim-smoke.spec.ts",
|
|
"tests/e2e/privacy-interim.smoke.spec.ts",
|
|
"tests/e2e/projekt-smoke.spec.ts",
|
|
] as const;
|
|
|
|
const canonicalReadinessPaths = [
|
|
"/e2e-readiness/settings/workspace",
|
|
"/e2e-readiness/settings/billing",
|
|
"/e2e-readiness/settings/team",
|
|
"/e2e-readiness/settings/team/roles",
|
|
"/e2e-readiness/settings/profile/notifications",
|
|
"/e2e-readiness/settings/compliance",
|
|
"/e2e-readiness/settings/compliance/events",
|
|
"/e2e-readiness/settings/compliance/audit-export",
|
|
"/e2e-readiness/settings/profile/data",
|
|
"/e2e-readiness/settings/integrations/api",
|
|
"/e2e-readiness/settings/integrations/api/keys",
|
|
"/e2e-readiness/settings/integrations/api/logs",
|
|
"/e2e-readiness/settings/workspace/policies",
|
|
"/e2e-readiness/settings/integrations/plugins",
|
|
] as const;
|
|
|
|
describe("required pilot E2E contracts", () => {
|
|
it("opens admin password login on the isolated admin host", () => {
|
|
expect(resolveAdminLoginUrl({ E2E_BASE_URL: "http://app.localhost:3000" })).toBe("http://admin.localhost:3000/login");
|
|
expect(resolveAdminLoginUrl({ E2E_BASE_URL: "https://app.hivegrid.de" })).toBe("https://admin.hivegrid.de/login");
|
|
expect(resolveAdminLoginUrl({ E2E_BASE_URL: "https://app.hivegrid.de", E2E_ADMIN_BASE_URL: "https://ops.example.test" })).toBe(
|
|
"https://ops.example.test/login"
|
|
);
|
|
});
|
|
|
|
it("probes cached admin sessions on the protected admin dashboard", () => {
|
|
expect(resolveAdminDashboardUrl({ E2E_BASE_URL: "http://app.localhost:3000" })).toBe("http://admin.localhost:3000/dashboard");
|
|
expect(resolveAdminDashboardUrl({ E2E_BASE_URL: "https://app.hivegrid.de" })).toBe("https://admin.hivegrid.de/dashboard");
|
|
expect(resolveAdminDashboardUrl({ E2E_ADMIN_BASE_URL: "https://ops.example.test/login?stale=1" })).toBe("https://ops.example.test/dashboard");
|
|
});
|
|
|
|
it.each(requiredPilotSmokes)("%s keeps fixture gaps fail-closed", (relativePath) => {
|
|
const source = readFileSync(path.resolve(process.cwd(), relativePath), "utf8");
|
|
|
|
expect(source).not.toMatch(/\btest\.skip\s*\(/u);
|
|
});
|
|
|
|
it("the Gitea readiness workflow targets canonical settings hubs", () => {
|
|
const relativePath = ".gitea/workflows/e2e-readiness.yml";
|
|
const source = readFileSync(path.resolve(process.cwd(), relativePath), "utf8");
|
|
|
|
for (const canonicalPath of canonicalReadinessPaths) {
|
|
expect(source).toContain(canonicalPath);
|
|
}
|
|
expect(source).not.toMatch(
|
|
/\/e2e-readiness\/settings\/(?:account|subscription|members|roles-and-permissions|notifications|logs|audit-export|privacy|policies|plugins)(?:\s|$)/u
|
|
);
|
|
});
|
|
});
|