feat(web): add s49 dispatch flow summary

This commit is contained in:
Your Name
2026-05-24 13:33:24 +08:00
parent f51e1cba5e
commit 504dd136c5
8 changed files with 391 additions and 2 deletions

View File

@@ -354,6 +354,7 @@ def validate(root: Path) -> None:
"s2_103_iwooos_s49_owner_response_envelope_preflight_board",
"s2_104_iwooos_s49_owner_response_envelope_preflight_outcome_board",
"s2_105_iwooos_s49_owner_response_request_draft_board",
"s2_106_iwooos_s49_owner_response_dispatch_flow_board",
]
assert_equal(
"progress_delta_ledger.delta_ids",
@@ -7889,6 +7890,89 @@ def validate(root: Path) -> None:
list(web_messages_en["iwooos"]["s49OwnerResponseRequestDraft"]["items"].keys()),
key,
)
assert_text_contains(
"iwooos_page.s49_owner_response_dispatch_flow_steps",
iwooos_projection_page,
"s49OwnerResponseDispatchFlowSteps",
)
assert_text_contains(
"iwooos_page.s49_owner_response_dispatch_flow_testid",
iwooos_projection_page,
'data-testid="iwooos-s49-owner-response-dispatch-flow-board"',
)
assert_text_contains(
"iwooos_page.s49_owner_response_dispatch_flow_component",
iwooos_projection_page,
"S49OwnerResponseDispatchFlowBoard",
)
for text in [
"s4_9_owner_response_dispatch_flow_step_count=6",
"s4_9_owner_response_dispatch_flow_current_step=request_draft",
"s4_9_owner_response_dispatch_flow_completed_count=0",
"s4_9_owner_response_dispatch_flow_blocked_count=0",
"s4_9_owner_response_request_sent=false",
"s4_9_owner_response_request_sent_count=0",
"s4_9_owner_response_received_count=0",
"s4_9_owner_response_accepted_count=0",
"s4_9_owner_response_request_dispatch_authorized=false",
"owner_response_acceptance_gate_open=false",
"audit_events_emitted=0",
"progress_review_authorized=false",
"runtime_execution_authorized=false",
"active_runtime_gate_count=0",
"action_buttons_allowed=false",
"not_authorization=true",
"secret_value_collection_allowed=false",
"repo_creation_authorized=false",
"refs_sync_authorized=false",
"workflow_modification_authorized=false",
"github_primary_switch_authorized=false",
"gitea_disablement_authorized=false",
]:
assert_text_contains(
"iwooos_page.s49_owner_response_dispatch_flow_boundary",
iwooos_projection_page,
text,
)
assert_contains(
"web_messages.zh-TW.iwooos.s49OwnerResponseDispatchFlow",
list(web_messages_zh["iwooos"].keys()),
"s49OwnerResponseDispatchFlow",
)
assert_contains(
"web_messages.en.iwooos.s49OwnerResponseDispatchFlow",
list(web_messages_en["iwooos"].keys()),
"s49OwnerResponseDispatchFlow",
)
for key in ["title", "subtitle", "summary", "items", "boundaryTitle", "boundaryIntro"]:
assert_contains(
"web_messages.zh-TW.iwooos.s49OwnerResponseDispatchFlow.keys",
list(web_messages_zh["iwooos"]["s49OwnerResponseDispatchFlow"].keys()),
key,
)
assert_contains(
"web_messages.en.iwooos.s49OwnerResponseDispatchFlow.keys",
list(web_messages_en["iwooos"]["s49OwnerResponseDispatchFlow"].keys()),
key,
)
for key in [
"workOrder",
"envelope",
"preflight",
"outcome",
"requestDraft",
"manualDispatchGate",
]:
assert_contains(
"web_messages.zh-TW.iwooos.s49OwnerResponseDispatchFlow.items",
list(web_messages_zh["iwooos"]["s49OwnerResponseDispatchFlow"]["items"].keys()),
key,
)
assert_contains(
"web_messages.en.iwooos.s49OwnerResponseDispatchFlow.items",
list(web_messages_en["iwooos"]["s49OwnerResponseDispatchFlow"]["items"].keys()),
key,
)
for key in [
"title",
"subtitle",