fix(test): upsert project members before SavePlan in chat-refresh live

Duty assignees must be active members or activation path returns 400.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
weichen
2026-09-16 04:11:54 +00:00
co-authored by Cursor
parent 3b80582123
commit 64ac437a90
@@ -207,6 +207,18 @@ def main():
n_win2 = n_cat2 = 0
texts2 = []
if default_s == 200 and isinstance(plan, dict):
# Duty holders must be active project members before SavePlan.
for uid, role in (
(owner_id, "owner"),
(reviewer_id, "member"),
(approver_id, "member"),
):
req(
"POST",
f"/api/v1/projects/{project_id}/members",
owner_token,
{"user_id": uid, "project_role": role},
)
stages = plan.get("stages") or []
for stg in stages:
for dt in stg.get("doc_tasks") or []:
@@ -220,6 +232,8 @@ def main():
"expected_plan_revision": 0,
"expected_selection_version": 1,
})
if save_s != 200:
task_out["save_err"] = err_snip(None, save_raw)
prev_s, preview, _, _ = req("POST", f"/api/v1/projects/{project_id}/activation-preview", owner_token, {})
if prev_s == 200 and isinstance(preview, dict):
activate_s, act, act_raw, _ = req("POST", f"/api/v1/projects/{project_id}/workflow-instances/activate", owner_token, {