Files
govoplan-helpdesk/webui/scripts/test-interface-pattern.mjs
T

18 lines
1.1 KiB
JavaScript

import assert from "node:assert/strict";
import fs from "node:fs";
const page = fs.readFileSync("src/features/helpdesk/HelpdeskProfilesPage.tsx", "utf8");
const styles = fs.readFileSync("src/styles/helpdesk.css", "utf8");
assert.ok(page.includes("WorkspaceActionBar"), "Helpdesk uses the semantic shared action bar");
assert.ok(page.includes("refreshable"), "The Helpdesk profile page exposes Reload");
assert.ok(page.includes("DocumentationHelpLink"), "Helpdesk exposes contextual documentation");
assert.ok(page.includes("PageScrollViewport"), "Helpdesk owns bounded profile and detail scrolling");
assert.ok(page.includes("<Dialog"), "Helpdesk profile edits use the shared dialog");
assert.ok(page.includes("FieldLabel"), "Helpdesk profile fields use shared labels and help");
assert.ok(page.includes("StatusBadge"), "Profile activation is not conveyed by color alone");
assert.ok(!page.includes("window.alert("), "Helpdesk must not use browser alerts");
assert.ok(styles.includes("@media (max-width: 760px)"), "Helpdesk retains a responsive profile layout");
console.log("Helpdesk interface pattern contract passed.");