docs(test): track U6 API evidence as txt (logs gitignored)
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -55,7 +55,7 @@ U6 修复可见性与真实 API 接入,使编制人兼任完整闭环第一次
|
||||
|
||||
### 5.2 HTTP 真实闭环(author_only)
|
||||
|
||||
**输入**:admin Bearer 调用四接口(证据:`assets/2026-09-17-document-author-only-u6/api-lifecycle-author-only.log`)
|
||||
**输入**:admin Bearer 调用四接口(证据:`assets/2026-09-17-document-author-only-u6/api-lifecycle-author-only.txt`)
|
||||
|
||||
**实际输出(摘要)**:
|
||||
|
||||
@@ -67,7 +67,7 @@ U6 修复可见性与真实 API 接入,使编制人兼任完整闭环第一次
|
||||
|
||||
### 5.3 HTTP 负例
|
||||
|
||||
**输入**:`lizhuguan` 对同一文档 review/approve(`api-negative.log`)
|
||||
**输入**:`lizhuguan` 对同一文档 review/approve(`api-negative.txt`)
|
||||
|
||||
**实际输出**:
|
||||
|
||||
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
=== claim ===
|
||||
{"id":293,"doc_id":"doc_proj6425_rd_design_input_spec","project_id":6425,"task_key":"rd_design_input_spec","title":"设计输入规格书","stage":"RD03_design_input","version":1,"current_state":"reviewing","is_locked":true,"is_template_only":false,"content_sha256":"3b763a3488dbd4fab8d7793f90b46f3373457f3745f3906b3c33e2bd39af39dc","work_dir":"/app/data/workspaces/bizdev/rd_design_input_spec_1789635960900711737","author_id":9,"author_name":"系统管理员","reviewer_id":9,"reviewer_name":"系统管理员","approver_id":9,"approver_name":"系统管理员","duty_locked":true,"duty_policy":"author_only","author_claimed":true,"author_claimed_at":"2026-09-17T13:34:38.964259543Z","author_last_viewed_at":"2026-09-17T13:35:23.866926066Z","author_last_edited_at":null,"reviewer_claimed":false,"reviewer_claimed_at":null,"approver_claimed":false,"approver_claimed_at":null,"last_rejected_reason":"","last_rejected_by_role":"","last_rejected_by_name":"","last_rejected_at":null,"approved_at":null,"config":{"reject_rollback_to":"drafting","allow_approver_to_reviewer":true,"require_author_confirm_on_reject":true},"created_at":"2026-09-17T09:06:00.895726Z","updated_at":"2026-09-17T13:35:23.866926066Z"}
|
||||
|
||||
HTTP 200
|
||||
|
||||
=== submit ===
|
||||
{"code":"VALIDATION","message":"请求参数无效","request_id":"req_a48e5a5d351af446","error":"submit review failed: docgov: invalid document lifecycle state transition: 无法从【reviewing】阶段提交审核,必须为【drafting】"}
|
||||
|
||||
HTTP 400
|
||||
|
||||
=== review_approve ===
|
||||
{"id":293,"doc_id":"doc_proj6425_rd_design_input_spec","project_id":6425,"task_key":"rd_design_input_spec","title":"设计输入规格书","stage":"RD03_design_input","version":1,"current_state":"approving","is_locked":true,"is_template_only":false,"content_sha256":"3b763a3488dbd4fab8d7793f90b46f3373457f3745f3906b3c33e2bd39af39dc","work_dir":"/app/data/workspaces/bizdev/rd_design_input_spec_1789635960900711737","author_id":9,"author_name":"系统管理员","reviewer_id":9,"reviewer_name":"系统管理员","approver_id":9,"approver_name":"系统管理员","duty_locked":true,"duty_policy":"author_only","author_claimed":true,"author_claimed_at":"2026-09-17T13:34:38.964259543Z","author_last_viewed_at":"2026-09-17T13:35:23.866926066Z","author_last_edited_at":null,"reviewer_claimed":false,"reviewer_claimed_at":null,"approver_claimed":false,"approver_claimed_at":null,"last_rejected_reason":"","last_rejected_by_role":"","last_rejected_by_name":"","last_rejected_at":null,"approved_at":null,"config":{"reject_rollback_to":"drafting","allow_approver_to_reviewer":true,"require_author_confirm_on_reject":true},"created_at":"2026-09-17T09:06:00.895726Z","updated_at":"2026-09-17T13:35:23.888196734Z"}
|
||||
|
||||
HTTP 200
|
||||
|
||||
=== approver_approve ===
|
||||
{"id":293,"doc_id":"doc_proj6425_rd_design_input_spec","project_id":6425,"task_key":"rd_design_input_spec","title":"设计输入规格书","stage":"RD03_design_input","version":1,"current_state":"approved","is_locked":true,"is_template_only":false,"content_sha256":"3b763a3488dbd4fab8d7793f90b46f3373457f3745f3906b3c33e2bd39af39dc","work_dir":"/app/data/workspaces/bizdev/rd_design_input_spec_1789635960900711737","author_id":9,"author_name":"系统管理员","reviewer_id":9,"reviewer_name":"系统管理员","approver_id":9,"approver_name":"系统管理员","duty_locked":true,"duty_policy":"author_only","author_claimed":true,"author_claimed_at":"2026-09-17T13:34:38.964259543Z","author_last_viewed_at":"2026-09-17T13:35:23.866926066Z","author_last_edited_at":null,"reviewer_claimed":false,"reviewer_claimed_at":null,"approver_claimed":false,"approver_claimed_at":null,"last_rejected_reason":"","last_rejected_by_role":"","last_rejected_by_name":"","last_rejected_at":null,"approved_at":"2026-09-17T13:35:23.898240156Z","config":{"reject_rollback_to":"drafting","allow_approver_to_reviewer":true,"require_author_confirm_on_reject":true},"created_at":"2026-09-17T09:06:00.895726Z","updated_at":"2026-09-17T13:35:23.898240156Z"}
|
||||
|
||||
HTTP 200
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
=== negative review by lizhuguan ===
|
||||
{"error":"DOC_DUTY_FORBIDDEN","message":"当前用户不是该文档的对应职责人"}
|
||||
HTTP 403
|
||||
|
||||
=== negative approve by lizhuguan ===
|
||||
{"error":"DOC_DUTY_FORBIDDEN","message":"当前用户不是该文档的对应职责人"}
|
||||
HTTP 403
|
||||
@@ -0,0 +1,49 @@
|
||||
PASS login_via_api_and_inject_session
|
||||
PASS open_project_and_doc
|
||||
PASS assert_author_only_badge_or_actions
|
||||
PASS click_claim_if_present
|
||||
PASS click_submit_if_present
|
||||
PASS click_review_pass_if_present
|
||||
PASS click_approve_if_present
|
||||
DONE [
|
||||
{
|
||||
"step": "login_via_api_and_inject_session",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"step": "open_project_and_doc",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"step": "visibility_probe",
|
||||
"hasBadge": true,
|
||||
"hasClaim": true,
|
||||
"hasSubmit": true,
|
||||
"hasReview": false,
|
||||
"hasApprove": true
|
||||
},
|
||||
{
|
||||
"step": "assert_author_only_badge_or_actions",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"step": "click_claim_if_present",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"step": "click_submit_if_present",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"step": "click_review_pass_if_present",
|
||||
"ok": true
|
||||
},
|
||||
{
|
||||
"finalHasApproved": false,
|
||||
"finalHasBadge": true
|
||||
},
|
||||
{
|
||||
"step": "click_approve_if_present",
|
||||
"ok": true
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user