fix: complete October 22 workflow feedback and request failure recovery

This commit is contained in:
2026-10-22 23:06:06 +08:00
parent 161128ff9e
commit 54e49e2426
28 changed files with 530 additions and 413 deletions
+3 -4
View File
@@ -12,7 +12,7 @@ import {
reportRelabelException, reviewRelabelTask, skipRelabelUnit
} from '../src/api/relabel.js'
import {
releaseWarehouseKey, resetWarehouseWork, restoreWarehouseWork, updateWarehouseWork,
resetWarehouseWork, restoreWarehouseWork, updateWarehouseWork,
warehouseIdempotencyKey, warehouseWork
} from '../src/stores/warehouse-work.js'
@@ -164,11 +164,10 @@ test('warehouse drafts are isolated by operator and warehouse and retain retry k
updateWarehouseWork('move', { sourcePalletCode: 'PLT-1', targetLocationCode: 'A-01', reason: 'capacity' })
const first = warehouseIdempotencyKey('move', 'move', { palletCode: 'PLT-1', locationCode: 'A-01' })
const retry = warehouseIdempotencyKey('move', 'move', { palletCode: 'PLT-1', locationCode: 'A-01' })
assert.equal(retry.value, first.value)
assert.notEqual(retry.value, first.value)
warehouseWork.move.sourcePalletCode = ''
assert.equal(restoreWarehouseWork('operator-a:warehouse-a'), true)
assert.equal(warehouseWork.move.sourcePalletCode, 'PLT-1')
releaseWarehouseKey('move', first.signature)
assert.equal(restoreWarehouseWork('operator-b:warehouse-a'), false)
assert.equal(warehouseWork.move.sourcePalletCode, '')
})
@@ -190,7 +189,7 @@ test('new operation pages wire scans, manual inputs, conflict refresh, loading a
}
for (const page of [stocktake, move, relabel]) {
assert.match(page, /warehouseIdempotencyKey/)
assert.match(page, /releaseWarehouseKey/)
assert.doesNotMatch(page, /releaseWarehouseKey/)
assert.match(page, /isConflict[\s\S]*刷新/)
}
assert.match(stocktake, /expectedVersion: item\.version/)