function assert(condition: unknown, message = "assertion failed"): void { if (!condition) throw new Error(message); } function assertEqual(actual: T, expected: T, message = "values should be equal"): void { if (actual !== expected) throw new Error(`${message}: expected ${String(expected)}, got ${String(actual)}`); } import { renderToStaticMarkup } from "react-dom/server"; import ResourceAccessExplanation, { formatResourceAccessProvenanceDetails, resourceAccessProvenanceKindLabel } from "../src/components/ResourceAccessExplanation"; const loadingMarkup = renderToStaticMarkup(); assert( loadingMarkup.includes("i18n:govoplan-core.loading_access_explanation.04a7c934"), "loading copy is owned by Core" ); const explanationMarkup = renderToStaticMarkup( ); assert(explanationMarkup.includes("Reader"), "the preferred user label is rendered"); assert(explanationMarkup.includes("Quarterly notice"), "resource provenance overrides the fallback label"); assert(explanationMarkup.includes("campaigns:campaign:read"), "the evaluated action is rendered"); assert(explanationMarkup.includes("i18n:govoplan-core.permission.2f81a22d"), "known provenance kinds use Core wording"); assert(explanationMarkup.includes("i18n:govoplan-core.no_source.6dcf9723"), "missing sources use Core wording"); assert(!explanationMarkup.includes("govoplan-campaign"), "the shared component does not depend on Campaign wording"); assert(!explanationMarkup.includes("govoplan-files"), "the shared component does not depend on Files wording"); const emptyMarkup = renderToStaticMarkup( ); assert(emptyMarkup.includes("Fallback resource"), "the caller fallback labels resources without resource provenance"); assert( emptyMarkup.includes("i18n:govoplan-core.no_access_evidence_was_returned.84a21e4e"), "empty evidence uses Core wording" ); assertEqual(resourceAccessProvenanceKindLabel("custom"), "custom", "unknown provenance kinds remain visible"); assertEqual( formatResourceAccessProvenanceDetails({ count: 2, inherited: false, source: null, nested: { id: "role-1" } }), 'count: 2; inherited: false; source: i18n:govoplan-core.none.6eef6648; nested: {"id":"role-1"}', "provenance details retain the established compact format" );