feat(web): 新增 iwooos rollout 驗收結果分流
This commit is contained in:
@@ -380,6 +380,7 @@ def validate(root: Path) -> None:
|
||||
"s2_126_iwooos_three_axis_product_progress",
|
||||
"s2_127_iwooos_product_rollout_wave_ledger",
|
||||
"s2_128_iwooos_product_rollout_acceptance_gates",
|
||||
"s2_129_iwooos_product_rollout_acceptance_outcomes",
|
||||
]
|
||||
assert_equal(
|
||||
"progress_delta_ledger.delta_ids",
|
||||
@@ -744,6 +745,11 @@ def validate(root: Path) -> None:
|
||||
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
||||
"show_iwooos_product_rollout_acceptance_gates",
|
||||
)
|
||||
assert_contains(
|
||||
"rollup.next_safe_actions.action_ids",
|
||||
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
||||
"show_iwooos_product_rollout_acceptance_outcomes",
|
||||
)
|
||||
assert_contains(
|
||||
"rollup.next_safe_actions.action_ids",
|
||||
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
||||
@@ -9223,6 +9229,114 @@ def validate(root: Path) -> None:
|
||||
list(web_messages_en["iwooos"]["productRolloutAcceptanceGates"]["items"].keys()),
|
||||
key,
|
||||
)
|
||||
assert_text_contains(
|
||||
"iwooos_page.product_rollout_acceptance_outcomes_testid",
|
||||
iwooos_projection_page,
|
||||
'data-testid="iwooos-product-rollout-acceptance-outcomes-board"',
|
||||
)
|
||||
assert_text_contains(
|
||||
"iwooos_page.product_rollout_acceptance_outcomes_component",
|
||||
iwooos_projection_page,
|
||||
"IwoooSProductRolloutAcceptanceOutcomesBoard",
|
||||
)
|
||||
for text in [
|
||||
"iwooos_product_rollout_acceptance_outcome_lane_count=7",
|
||||
"iwooos_product_rollout_acceptance_outcome_current_stage=read_only_outcome_routing",
|
||||
"iwooos_product_rollout_acceptance_outcome_keep_read_only_lane_count=1",
|
||||
"iwooos_product_rollout_acceptance_outcome_returned_for_evidence_count=0",
|
||||
"iwooos_product_rollout_acceptance_outcome_quarantined_count=0",
|
||||
"iwooos_product_rollout_acceptance_outcome_source_control_hold_count=0",
|
||||
"iwooos_product_rollout_acceptance_outcome_host_safety_hold_count=0",
|
||||
"iwooos_product_rollout_acceptance_outcome_human_review_candidate_count=0",
|
||||
"iwooos_product_rollout_acceptance_outcome_runtime_candidate_count=0",
|
||||
"iwooos_product_rollout_acceptance_outcome_owner_response_received_count=0",
|
||||
"iwooos_product_rollout_acceptance_outcome_owner_response_accepted_count=0",
|
||||
"iwooos_product_rollout_acceptance_outcome_redacted_evidence_accepted_count=0",
|
||||
"iwooos_product_rollout_acceptance_outcome_active_runtime_gate_count=0",
|
||||
"iwooos_product_rollout_acceptance_outcome_runtime_gate_open=false",
|
||||
"iwooos_product_rollout_acceptance_outcome_runtime_wave_count=0",
|
||||
"iwooos_product_rollout_acceptance_outcome_enforcement_wave_count=0",
|
||||
"iwooos_product_rollout_acceptance_outcome_public_secret_exposure_allowed=false",
|
||||
"iwooos_product_rollout_acceptance_outcome_kali_execution_authorized=false",
|
||||
"iwooos_product_rollout_acceptance_outcome_source_control_mutation_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.product_rollout_acceptance_outcomes_boundary",
|
||||
iwooos_projection_page,
|
||||
text,
|
||||
)
|
||||
assert_contains(
|
||||
"web_messages.zh-TW.iwooos.productRolloutAcceptanceOutcomes",
|
||||
list(web_messages_zh["iwooos"].keys()),
|
||||
"productRolloutAcceptanceOutcomes",
|
||||
)
|
||||
assert_contains(
|
||||
"web_messages.en.iwooos.productRolloutAcceptanceOutcomes",
|
||||
list(web_messages_en["iwooos"].keys()),
|
||||
"productRolloutAcceptanceOutcomes",
|
||||
)
|
||||
for key in [
|
||||
"title",
|
||||
"subtitle",
|
||||
"summary",
|
||||
"items",
|
||||
"laneLabel",
|
||||
"whyLabel",
|
||||
"nextLabel",
|
||||
"blockedLabel",
|
||||
"boundaryTitle",
|
||||
"boundaryIntro",
|
||||
]:
|
||||
assert_contains(
|
||||
"web_messages.zh-TW.iwooos.productRolloutAcceptanceOutcomes.keys",
|
||||
list(web_messages_zh["iwooos"]["productRolloutAcceptanceOutcomes"].keys()),
|
||||
key,
|
||||
)
|
||||
assert_contains(
|
||||
"web_messages.en.iwooos.productRolloutAcceptanceOutcomes.keys",
|
||||
list(web_messages_en["iwooos"]["productRolloutAcceptanceOutcomes"].keys()),
|
||||
key,
|
||||
)
|
||||
for key in ["outcomes", "accepted", "quarantine", "runtime"]:
|
||||
assert_contains(
|
||||
"web_messages.zh-TW.iwooos.productRolloutAcceptanceOutcomes.summary",
|
||||
list(web_messages_zh["iwooos"]["productRolloutAcceptanceOutcomes"]["summary"].keys()),
|
||||
key,
|
||||
)
|
||||
assert_contains(
|
||||
"web_messages.en.iwooos.productRolloutAcceptanceOutcomes.summary",
|
||||
list(web_messages_en["iwooos"]["productRolloutAcceptanceOutcomes"]["summary"].keys()),
|
||||
key,
|
||||
)
|
||||
for key in [
|
||||
"keepReadOnly",
|
||||
"returnEvidence",
|
||||
"quarantineSensitive",
|
||||
"sourceControlHold",
|
||||
"hostSafetyHold",
|
||||
"humanReviewCandidate",
|
||||
"runtimeDenied",
|
||||
]:
|
||||
assert_contains(
|
||||
"web_messages.zh-TW.iwooos.productRolloutAcceptanceOutcomes.items",
|
||||
list(web_messages_zh["iwooos"]["productRolloutAcceptanceOutcomes"]["items"].keys()),
|
||||
key,
|
||||
)
|
||||
assert_contains(
|
||||
"web_messages.en.iwooos.productRolloutAcceptanceOutcomes.items",
|
||||
list(web_messages_en["iwooos"]["productRolloutAcceptanceOutcomes"]["items"].keys()),
|
||||
key,
|
||||
)
|
||||
assert_text_contains(
|
||||
"iwooos_page.first_progress_unlock_path_testid",
|
||||
iwooos_projection_page,
|
||||
|
||||
Reference in New Issue
Block a user