fix: 统一顺运宝单条采集客户端选择 (#174)
This commit is contained in:
@@ -143,6 +143,15 @@ func TestCreateSybPddCollectTasksForUser_同一PDD商品去重(t *testing.T) {
|
||||
if err := db.QueryRow(`SELECT COUNT(*) FROM tasks WHERE task_type='collect'`).Scan(&taskCount); err != nil || taskCount != 1 {
|
||||
t.Fatalf("同一 PDD 商品应只建一条任务,count=%d err=%v", taskCount, err)
|
||||
}
|
||||
var status model.TaskStatus
|
||||
var assignedClient sql.NullString
|
||||
if err := db.QueryRow(`SELECT status,assigned_client FROM tasks WHERE task_type='collect'`).
|
||||
Scan(&status, &assignedClient); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if status != model.TaskPending || assignedClient.Valid {
|
||||
t.Fatalf("不指定客户端时应为无主待领,status=%q client=%+v", status, assignedClient)
|
||||
}
|
||||
var sourceCount int
|
||||
if err := db.QueryRow(`SELECT COUNT(*) FROM task_syb_sources`).Scan(&sourceCount); err != nil || sourceCount != 2 {
|
||||
t.Fatalf("去重任务应保留两条顺运宝来源,count=%d err=%v", sourceCount, err)
|
||||
@@ -158,6 +167,34 @@ func TestCreateSybPddCollectTasksForUser_同一PDD商品去重(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestCreateSybPddCollectTasksForUser_指定可见客户端(t *testing.T) {
|
||||
db := newTestDB(t)
|
||||
admin, _, _ := insertTaskUsers(t, db)
|
||||
if err := RegisterClient(db, model.Client{ClientID: "client-chosen", Name: "仓库手机"}, true); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
seedShopeeProduct(t, db, "1001", "商品一")
|
||||
if _, err := AssociateShopeePdd(db, "1001", pddURLA, false); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
seedSybCollectOrder(t, db, "SYB-CHOSEN", "1001")
|
||||
|
||||
result, err := CreateSybPddCollectTasksForUser(
|
||||
db, admin, []string{"SYB-CHOSEN"}, "client-chosen")
|
||||
if err != nil || result.Created != 1 {
|
||||
t.Fatalf("指定客户端创建结果=%+v err=%v", result, err)
|
||||
}
|
||||
var status model.TaskStatus
|
||||
var assignedClient string
|
||||
if err := db.QueryRow(`SELECT status,assigned_client FROM tasks WHERE task_type='collect' AND pdd_goods_id='737116531267'`).
|
||||
Scan(&status, &assignedClient); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if status != model.TaskAssigned || assignedClient != "client-chosen" {
|
||||
t.Fatalf("指定客户端任务状态=%q client=%q", status, assignedClient)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCreateSybPddCollectTasksForUser_无任务的采集中状态可恢复(t *testing.T) {
|
||||
db := newTestDB(t)
|
||||
admin, _, _ := insertTaskUsers(t, db)
|
||||
|
||||
Reference in New Issue
Block a user