Files
HiveGrid-Wireframes/03 Quellen und Referenzen/hivegrid-cloud/tests/e2e/forms.spec.ts
T

31 lines
1.4 KiB
TypeScript

import { expect, test } from "./utils/test";
import { getTenantCredentials, loginAsTenantUser } from "./utils/auth";
import { skipIfUnavailable } from "./utils/navigation";
import { skipOrFailWhenE2eInputsMissing } from "./utils/readiness";
/**
* Forms smoke (AK-P16c / DoD D.19): Login -> /forms oeffnen -> Verwaltungs-
* Liste sichtbar.
*
* Die Route ist modul-gegated (tenantHasModule "forms") + permission-gegated
* (forms.basic). Bei aktivem Modul + Berechtigung rendert sie die
* Formular-Verwaltung mit `data-ui-id="ui.forms.list"`. Skippt ohne
* E2E-Credentials / wenn die Route im Environment nicht erreichbar ist
* (404 bei fehlendem Modul/Recht).
*/
const credentials = getTenantCredentials();
const dashboardPath = process.env.E2E_TENANT_DASHBOARD_PATH ?? "/app/dashboard";
const formsPath = process.env.E2E_TENANT_FORMS_PATH ?? dashboardPath.replace(/\/dashboard\/?$/u, "/forms");
test.describe("forms smoke", () => {
test("renders the forms admin list", async ({ page }) => {
skipOrFailWhenE2eInputsMissing(["E2E_TENANT_EMAIL", "E2E_TENANT_PASSWORD"], "Forms smoke inputs not configured");
await loginAsTenantUser(page, credentials!);
const response = await page.goto(formsPath, { waitUntil: "domcontentloaded" });
await skipIfUnavailable(page, response, "Forms path is not reachable in this environment");
await expect(page.locator('[data-ui-id="ui.forms.list"]')).toBeVisible();
});
});