feat(web): add iwooos reviewer preparation

This commit is contained in:
Your Name
2026-05-24 17:43:38 +08:00
parent 8c78cb8970
commit 8734fcb7eb
8 changed files with 396 additions and 2 deletions

View File

@@ -371,6 +371,7 @@ def validate(root: Path) -> None:
"s2_117_iwooos_first_unlock_evidence_packet_supplement_path",
"s2_118_iwooos_first_unlock_evidence_packet_supplement_pre_review",
"s2_119_iwooos_first_unlock_evidence_packet_supplement_pre_review_outcomes",
"s2_120_iwooos_first_unlock_evidence_packet_reviewer_assignment_preparation",
]
assert_equal(
"progress_delta_ledger.delta_ids",
@@ -690,6 +691,11 @@ def validate(root: Path) -> None:
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
"show_iwooos_first_unlock_evidence_packet_supplement_pre_review_outcomes",
)
assert_contains(
"rollup.next_safe_actions.action_ids",
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
"show_iwooos_first_unlock_evidence_packet_reviewer_assignment_preparation",
)
assert_contains(
"rollup.next_safe_actions.action_ids",
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
@@ -9102,6 +9108,98 @@ def validate(root: Path) -> None:
list(web_messages_en["iwooos"]["firstUnlockEvidencePacketSupplementPreReviewOutcomes"]["items"].keys()),
key,
)
assert_text_contains(
"iwooos_page.first_unlock_evidence_packet_reviewer_assignment_preparation_testid",
iwooos_projection_page,
'data-testid="iwooos-first-unlock-evidence-packet-reviewer-assignment-preparation-board"',
)
assert_text_contains(
"iwooos_page.first_unlock_evidence_packet_reviewer_assignment_preparation_component",
iwooos_projection_page,
"IwoooSFirstUnlockEvidencePacketReviewerAssignmentPreparationBoard",
)
for text in [
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preparation_packet_count=6",
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preparation_current_focus=reviewer_assignment_preparation",
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preparation_ready_count=0",
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preparation_reviewer_candidate_count=0",
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preparation_reviewer_assigned_count=0",
"iwooos_first_unlock_evidence_packet_reviewer_assignment_preparation_audit_event_emitted=0",
"iwooos_first_unlock_evidence_packet_supplement_pre_review_ready_for_queue_count=0",
"iwooos_first_unlock_evidence_packet_supplement_pre_review_queue_open=false",
"iwooos_first_unlock_evidence_packet_supplement_request_sent=false",
"iwooos_first_unlock_evidence_packet_supplement_submitted_count=0",
"iwooos_first_unlock_evidence_packet_supplement_accepted_count=0",
"iwooos_first_unlock_evidence_packet_supplement_raw_payload_allowed=false",
"iwooos_first_unlock_evidence_packet_supplement_secret_value_allowed=false",
"iwooos_first_unlock_evidence_packet_headline_review_authorized=false",
"iwooos_first_unlock_evidence_packet_runtime_gate_opened=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.first_unlock_evidence_packet_reviewer_assignment_preparation_boundary",
iwooos_projection_page,
text,
)
assert_contains(
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreparation",
list(web_messages_zh["iwooos"].keys()),
"firstUnlockEvidencePacketReviewerAssignmentPreparation",
)
assert_contains(
"web_messages.en.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreparation",
list(web_messages_en["iwooos"].keys()),
"firstUnlockEvidencePacketReviewerAssignmentPreparation",
)
for key in ["title", "subtitle", "summary", "items", "packetLabel", "boundaryTitle", "boundaryIntro"]:
assert_contains(
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreparation.keys",
list(web_messages_zh["iwooos"]["firstUnlockEvidencePacketReviewerAssignmentPreparation"].keys()),
key,
)
assert_contains(
"web_messages.en.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreparation.keys",
list(web_messages_en["iwooos"]["firstUnlockEvidencePacketReviewerAssignmentPreparation"].keys()),
key,
)
for key in ["packets", "ready", "candidates", "assigned"]:
assert_contains(
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreparation.summary",
list(web_messages_zh["iwooos"]["firstUnlockEvidencePacketReviewerAssignmentPreparation"]["summary"].keys()),
key,
)
assert_contains(
"web_messages.en.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreparation.summary",
list(web_messages_en["iwooos"]["firstUnlockEvidencePacketReviewerAssignmentPreparation"]["summary"].keys()),
key,
)
for key in [
"queueStatusFreeze",
"reviewerRoleBoundary",
"scopePacket",
"evidencePointerIndex",
"conflictDisclosure",
"assignmentAuditDraft",
]:
assert_contains(
"web_messages.zh-TW.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreparation.items",
list(web_messages_zh["iwooos"]["firstUnlockEvidencePacketReviewerAssignmentPreparation"]["items"].keys()),
key,
)
assert_contains(
"web_messages.en.iwooos.firstUnlockEvidencePacketReviewerAssignmentPreparation.items",
list(web_messages_en["iwooos"]["firstUnlockEvidencePacketReviewerAssignmentPreparation"]["items"].keys()),
key,
)
for key in [
"title",
"subtitle",