fix: 修复顺运宝采购完成状态与重复采购 (#169)
This commit is contained in:
@@ -125,6 +125,14 @@ func TestSybStageFor_全部筛选阶段与逐行推导一致(t *testing.T) {
|
||||
{SybStagePddFailed, "重新采集", copyWith(func(c *repository.SybOrderContext) { c.PddCollectStatus = string(model.CollectFailed) })},
|
||||
{SybStageMappingPending, "匹配规格", copyWith(func(c *repository.SybOrderContext) { c.MappingOptionKey = "" })},
|
||||
{SybStageTaskCreated, "查看采购任务", copyWith(func(c *repository.SybOrderContext) { c.HasActiveTask = true })},
|
||||
{SybStagePurchaseCompleted, "查看采购结果", copyWith(func(c *repository.SybOrderContext) {
|
||||
c.HasSucceededPurchaseTask, c.HasManualReviewPurchaseTask = true, true
|
||||
c.Order.SpecKey = ""
|
||||
})},
|
||||
{SybStagePurchaseReview, "查看采购任务", copyWith(func(c *repository.SybOrderContext) {
|
||||
c.HasManualReviewPurchaseTask = true
|
||||
c.MappingOptionKey = ""
|
||||
})},
|
||||
{SybStagePurchaseBlocked, "核对数据", copyWith(func(c *repository.SybOrderContext) { c.Order.Quantity = 0 })},
|
||||
{SybStagePurchaseReady, "创建采购任务", ready},
|
||||
}
|
||||
@@ -182,6 +190,17 @@ func TestSybOrderViewFor_批量动作能力按阶段隔离(t *testing.T) {
|
||||
if view.CanCollect || !view.CanPurchase {
|
||||
t.Fatalf("采购就绪行应只允许采购:CanCollect=%v CanPurchase=%v", view.CanCollect, view.CanPurchase)
|
||||
}
|
||||
for _, change := range []func(*repository.SybOrderContext){
|
||||
func(c *repository.SybOrderContext) { c.HasSucceededPurchaseTask = true },
|
||||
func(c *repository.SybOrderContext) { c.HasManualReviewPurchaseTask = true },
|
||||
} {
|
||||
locked := ready
|
||||
change(&locked)
|
||||
lockedView := sybOrderViewFor(locked)
|
||||
if lockedView.CanCollect || lockedView.CanPurchase {
|
||||
t.Fatalf("采购完成或待核对行不得再提供批量动作:%+v", lockedView)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestSybCollectingIsStale_有效任务但时间损坏时允许恢复(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user