72 lines
2.3 KiB
Python
72 lines
2.3 KiB
Python
from __future__ import annotations
|
|
|
|
from pathlib import Path
|
|
import unittest
|
|
|
|
|
|
ROOT = Path(__file__).resolve().parents[1]
|
|
|
|
|
|
class ReferenceJourneyUiTests(unittest.TestCase):
|
|
def test_actor_can_resume_and_reconstruct_the_record_journey(self) -> None:
|
|
page = (ROOT / "webui/src/features/records/RecordsPage.tsx").read_text(
|
|
encoding="utf-8"
|
|
)
|
|
lifecycle = (
|
|
ROOT / "webui/src/features/records/RecordLifecyclePanel.tsx"
|
|
).read_text(encoding="utf-8")
|
|
api = (ROOT / "webui/src/api/records.ts").read_text(encoding="utf-8")
|
|
|
|
for marker in (
|
|
'searchParams.get("recordId")',
|
|
'next.set("recordId", selectedRecordId)',
|
|
"filingPresetFrom(searchParams)",
|
|
'searchParams.get("sourceRevision")',
|
|
'<WorkspaceActionBar',
|
|
"refreshable",
|
|
'reloadAction={{ onReload: reload',
|
|
'data-help-context-id="records.governance-context"',
|
|
'data-help-context-id="records.record-items"',
|
|
'data-help-context-id="records.chronology"',
|
|
"item.source.source_revision",
|
|
"item.authority_mode",
|
|
"item.relationship",
|
|
"item.purpose",
|
|
"item.source_metadata.evidence_role",
|
|
"detail.access_explanation.current_authorization",
|
|
):
|
|
self.assertIn(marker, page)
|
|
|
|
for action in (
|
|
'openAction("close")',
|
|
'openAction("reopen")',
|
|
'openAction("appraise")',
|
|
'openAction("hold")',
|
|
'openAction("release-hold", holdId)',
|
|
'openAction("disposition")',
|
|
'openAction("finalize")',
|
|
'openAction("prepare-transfer")',
|
|
'openAction("dispatch-transfer")',
|
|
"openRecovery",
|
|
"Release all active holds first.",
|
|
"Simulation only",
|
|
"custody",
|
|
"item.policy_refs",
|
|
):
|
|
self.assertIn(action, lifecycle)
|
|
|
|
for endpoint in (
|
|
'"close"',
|
|
'"reopen"',
|
|
'"appraise"',
|
|
'"holds"',
|
|
'"dispositions"',
|
|
'"transfer-packages"',
|
|
"/recovery`",
|
|
):
|
|
self.assertIn(endpoint, api)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|