fix: 修复顺运宝采集任务孤儿状态 (#165)

This commit is contained in:
chengma
2026-08-11 17:00:33 +08:00
parent c8b1fd686a
commit 9e328984e9
17 changed files with 508 additions and 67 deletions
+27
View File
@@ -594,6 +594,33 @@ func TestDeleteTasks_批量删除(t *testing.T) {
}
}
func TestDeleteTasks_删除最后有效采集任务才回收商品状态(t *testing.T) {
db := newTestDB(t)
if _, err := repository.EnsurePddProduct(db, "111", "https://mobile.yangkeduo.com/goods.html?goods_id=111"); err != nil {
t.Fatal(err)
}
if _, err := db.Exec(`UPDATE pdd_products SET collect_status='collecting' WHERE goods_id='111'`); err != nil {
t.Fatal(err)
}
insertTestTask(t, db, testTaskParams{taskID: "COL-A", taskType: model.TaskCollect, status: model.TaskPending, pddGoodsID: "111"})
insertTestTask(t, db, testTaskParams{taskID: "COL-B", taskType: model.TaskCollect, status: model.TaskAssigned, pddGoodsID: "111"})
if _, err := DeleteTasks(db, []string{"COL-A"}); err != nil {
t.Fatal(err)
}
product, err := repository.GetPddProductByGoodsID(db, "111")
if err != nil || product.CollectStatus != model.CollectCollecting {
t.Fatalf("仍有有效任务时不应回收:status=%s err=%v", product.CollectStatus, err)
}
if _, err := DeleteTasks(db, []string{"COL-B"}); err != nil {
t.Fatal(err)
}
product, err = repository.GetPddProductByGoodsID(db, "111")
if err != nil || product.CollectStatus != model.CollectPending {
t.Fatalf("删除最后有效任务后应回收为 pending:status=%s err=%v", product.CollectStatus, err)
}
}
func TestTaskScope_采购员只能查看自己的任务且不能伪造筛选(t *testing.T) {
db := newTestDB(t)
admin, buyerA, buyerB := insertTaskUsers(t, db)