test: cover smart loading quantity operations

This commit is contained in:
2026-09-04 15:36:56 +08:00
parent 9c96bdfaa8
commit 15b16634db
2 changed files with 63 additions and 7 deletions
@@ -16,12 +16,18 @@ test('measurement HTTP acceptance preserves whole-ticket slot identities across
assert.match(measurement, /asId\(current\.locationId\) === asId\(prior\.locationId\)/)
})
test('smart-loading HTTP acceptance uses authoritative totals and proves over-allocation zero drift', () => {
test('smart-loading HTTP acceptance covers by-booking reads and bidirectional quantity changes', () => {
const loading = source('./phase3-loading.mjs')
assert.match(loading, /计划详情由服务端返回权威总箱数和剩余箱数/)
assert.match(loading, /authoritativeRemaining === authoritativeTotal - assignedPackageCount/)
assert.match(loading, /计划已有明细后按柜次读取智能装柜详情/)
assert.match(loading, /按柜次详情返回同一计划及权威箱数且数量守恒/)
assert.match(loading, /packageCount: authoritativeTotal \+ 1/)
assert.match(loading, /调整箱数超过服务端权威总箱数返回A0400/)
assert.match(loading, /调整箱数超过服务端权威总箱数返回A0422/)
assert.match(loading, /未拣动态增量明细允许向下调整数量/)
assert.match(loading, /Number\(decreasedItem\?\.remainingPackageCount\) === authoritativeTotal - 1/)
assert.match(loading, /向下调整验证后恢复两箱供已拣下限校验/)
assert.match(loading, /packageCount: Number\(pickedDynamicPlanItem\?\.minPackageCount\) - 1/)
assert.match(loading, /Number\(afterOverAuthority\?\.version\) === Number\(reassignedPlan\?\.version\)/)
assert.match(loading, /Number\(afterOverAuthorityItem\?\.remainingPackageCount\) === authoritativeRemaining/)
})