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:
@@ -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, {
|
||||
|
||||
Reference in New Issue
Block a user