Document reporting interface patterns
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
import assert from "node:assert/strict";
|
||||
import fs from "node:fs";
|
||||
|
||||
const page = fs.readFileSync("src/features/reporting/ReportingPage.tsx", "utf8");
|
||||
const provider = fs.readFileSync("src/features/reporting/ProviderReportWorkspace.tsx", "utf8");
|
||||
const styles = fs.readFileSync("src/styles/reporting.css", "utf8");
|
||||
|
||||
assert.ok(page.includes("DocumentationHelpLink"), "Reporting exposes configured-system help");
|
||||
assert.ok(page.includes("PageScrollViewport"), "Reporting owns bounded catalogue and inspector scrolling");
|
||||
assert.ok(page.includes("DataGrid"), "Tabular report results use the shared grid");
|
||||
assert.ok(page.includes("<Dialog"), "Save and schedule operations use shared dialogs");
|
||||
assert.ok(provider.includes("disabledReason={runDisabledReason}"), "Governed report blockers remain keyboard-explainable");
|
||||
assert.ok(provider.includes("DismissibleAlert"), "Provider failures and unavailable states use shared alerts");
|
||||
assert.ok(!page.includes("window.alert("), "Reporting must not use browser alerts");
|
||||
assert.ok(styles.includes("@media (max-width: 760px)"), "Reporting retains a narrow-viewport task order");
|
||||
|
||||
console.log("Reporting interface pattern contract passed.");
|
||||
Reference in New Issue
Block a user