新增: 推进链阶段3收口(advance_task/run_workflow工具+status状态机收口)
This commit is contained in:
@@ -247,15 +247,23 @@ async fn update_field_rejects_cross_table_column_tasks_name() {
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn update_field_allows_tasks_status() {
|
||||
async fn update_field_rejects_tasks_status() {
|
||||
// D-260616-04 status 收口:status 已从 tasks 白名单移除,所有 status 改动须走
|
||||
// advance_status_atomic(CAS SQL 独立路径,不经通用 update_field)。update_field
|
||||
// 改 status 应在白名单阶段被拒(防 update_task IPC / AI 工具旁路绕过状态机与 review_rounds 累加)。
|
||||
let (projects, tasks, _r, _b) = setup().await;
|
||||
projects.insert(project("p1")).await.unwrap();
|
||||
tasks.insert(task("t1", "p1")).await.unwrap();
|
||||
|
||||
let ok = tasks.update_field("t1", "status", "done").await.unwrap();
|
||||
assert!(ok);
|
||||
let res = tasks.update_field("t1", "status", "done").await;
|
||||
assert!(
|
||||
res.is_err(),
|
||||
"status 不在 tasks 白名单,应被拒(改走 advance_status_atomic)"
|
||||
);
|
||||
|
||||
// 对照:status 未被改写,仍为初始值(task fixture 的初始 status)
|
||||
let rec = tasks.get_by_id("t1").await.unwrap().unwrap();
|
||||
assert_eq!(rec.status, "done");
|
||||
assert_ne!(rec.status, "done", "白名单拒绝后 status 不应被改写");
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
|
||||
Reference in New Issue
Block a user