fix(plan): unwrap format_output envelope in artifact JSON step assertions

The artifacts() method routes JSON through format_output() which wraps
the payload in a spec-required envelope {"data": ..., "status": ...}.
The two @tdd_issue_4253 step assertions were checking parsed["key"]
directly, but the actual fields live at parsed["data"]["key"].

Update step_artifacts_json_validation and step_artifacts_json_apply_summary
to extract parsed["data"] before asserting on validation_summary and
apply_summary respectively.

ISSUES CLOSED: #9084
This commit is contained in:
2026-06-02 22:25:32 -04:00
committed by drew
parent 87cfdae489
commit c957cf8cb1
+7 -5
View File
@@ -435,8 +435,9 @@ def step_artifacts_has_files(context: Context) -> None:
@then("the artifacts JSON should contain validation summary")
def step_artifacts_json_validation(context: Context) -> None:
parsed = json.loads(context.artifacts_output)
assert "validation_summary" in parsed
assert parsed["validation_summary"]["total"] == 3
data = parsed["data"]
assert "validation_summary" in data
assert data["validation_summary"]["total"] == 3
@then("the artifacts should show null changeset")
@@ -565,6 +566,7 @@ def step_plan_with_changeset_id_but_no_store_entry(context: Context) -> None:
@then("the artifacts JSON should contain apply summary")
def step_artifacts_json_apply_summary(context: Context) -> None:
parsed = json.loads(context.artifacts_output)
assert "apply_summary" in parsed
assert parsed["apply_summary"]["files_changed"] == "7"
assert parsed["apply_summary"]["validations_run"] == "4"
data = parsed["data"]
assert "apply_summary" in data
assert data["apply_summary"]["files_changed"] == "7"
assert data["apply_summary"]["validations_run"] == "4"