feat: 支持顺运宝批量创建采集任务 (#153)
This commit is contained in:
@@ -130,3 +130,44 @@ func TestSybStageFor_全部筛选阶段与逐行推导一致(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestSybOrderViewFor_批量动作能力按阶段隔离(t *testing.T) {
|
||||
base := repository.SybOrderContext{
|
||||
Order: model.SybOrder{SybID: "SYB-1", SpecKey: "黑色,M", Quantity: 1},
|
||||
PddGoodsID: "737116531267",
|
||||
}
|
||||
cases := []struct {
|
||||
status model.CollectStatus
|
||||
mappingKey string
|
||||
wantCollect, wantPurchase bool
|
||||
}{
|
||||
{status: model.CollectPending, wantCollect: true},
|
||||
{status: model.CollectFailed, wantCollect: true},
|
||||
{status: model.CollectCollecting},
|
||||
{status: model.CollectCollected},
|
||||
}
|
||||
for _, tc := range cases {
|
||||
context := base
|
||||
context.PddCollectStatus = string(tc.status)
|
||||
context.MappingOptionKey = tc.mappingKey
|
||||
view := sybOrderViewFor(context)
|
||||
if view.CanCollect != tc.wantCollect || view.CanPurchase != tc.wantPurchase {
|
||||
t.Errorf("status=%s: CanCollect=%v CanPurchase=%v", tc.status, view.CanCollect, view.CanPurchase)
|
||||
}
|
||||
if view.SelectionHint == "" {
|
||||
t.Errorf("status=%s: 应给出选择能力说明", tc.status)
|
||||
}
|
||||
}
|
||||
key, err := OptionKey(map[string]string{"color": "黑色", "size": "M码", "style": "常规"})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
ready := base
|
||||
ready.PddCollectStatus = string(model.CollectCollected)
|
||||
ready.PddSkusJSON = collectedThreeDimensions
|
||||
ready.MappingOptionKey = key
|
||||
view := sybOrderViewFor(ready)
|
||||
if view.CanCollect || !view.CanPurchase {
|
||||
t.Fatalf("采购就绪行应只允许采购:CanCollect=%v CanPurchase=%v", view.CanCollect, view.CanPurchase)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user