优化
This commit is contained in:
@@ -27,6 +27,16 @@ test('scanning a discard outbound document opens the discard workflow with its l
|
||||
assert.equal(vm.discardCurrent.outboundNo, 'OB-1')
|
||||
})
|
||||
|
||||
test('退货废弃一箱五件分别展示,混装SKU按箱唛去重', () => {
|
||||
const { vm } = page()
|
||||
vm.discardTask = { cartonMarks: ['RETURN-BOX-1'], skus: [{ quantityUnit: '件', plannedPackages: 5 }] }
|
||||
assert.equal(vm.discardQuantitySummary, '1 箱 · 5 件')
|
||||
vm.discardTask.skus = [{ quantityUnit: '件', plannedPackages: 2 }, { quantityUnit: '件', plannedPackages: 3 }]
|
||||
assert.equal(vm.discardQuantitySummary, '1 箱 · 5 件')
|
||||
vm.discardTask = { cartonMarks: ['BOX-1', 'BOX-1'], skus: [{ quantityUnit: '箱', plannedPackages: 1 }] }
|
||||
assert.equal(vm.discardQuantitySummary, '1 箱')
|
||||
})
|
||||
|
||||
test('discard pallet resolution passes the selected discard number', async () => {
|
||||
let received
|
||||
const { vm } = page({ resolveCargoDiscardPallet: async (...args) => {
|
||||
@@ -38,6 +48,45 @@ test('discard pallet resolution passes the selected discard number', async () =>
|
||||
assert.deepEqual(received, ['P-1', 'CD-2'])
|
||||
})
|
||||
|
||||
test('点击打开废弃作业使用输入框值,不把 tap 事件当作托盘号', async () => {
|
||||
let received
|
||||
const { vm } = page({ resolveCargoDiscardPallet: async (...args) => {
|
||||
received = args
|
||||
return { discardNo: 'CD-2', palletNo: 'P-1', skus: [] }
|
||||
} })
|
||||
vm.discardCurrent = { discardNo: 'CD-2' }
|
||||
vm.discardPalletCode = ' P-1 '
|
||||
await vm.resolveDiscardPallet({ type: 'tap', detail: { x: 10, y: 20 } })
|
||||
assert.deepEqual(received, ['P-1', 'CD-2'])
|
||||
assert.equal(vm.discardPalletCode, 'P-1')
|
||||
})
|
||||
|
||||
test('同单按箱废弃允许扫描当前托盘及其他托盘所选箱唛,范围不扩展到其他单据', async () => {
|
||||
const requests = []
|
||||
const tasks = [
|
||||
{ discardNo: 'CD-1', palletNo: 'P-1', scanMode: 'CARTON', cartonMarks: ['BOX-1'], skus: [], status: 'PENDING' },
|
||||
{ discardNo: 'CD-1', palletNo: 'P-2', scanMode: 'CARTON', cartonMarks: ['BOX-2'], skus: [], status: 'PENDING' },
|
||||
{ discardNo: 'CD-OTHER', palletNo: 'P-3', scanMode: 'CARTON', cartonMarks: ['BOX-3'], skus: [], status: 'PENDING' },
|
||||
]
|
||||
const { vm } = page({ resolveCargoDiscardPallet: async code => {
|
||||
requests.push(code)
|
||||
return tasks.find(task => task.palletNo === code || task.cartonMarks.includes(code))
|
||||
} })
|
||||
vm.discardTasks = tasks
|
||||
vm.openDiscardOrder('CD-1')
|
||||
await Promise.resolve()
|
||||
assert.equal(vm.discardCurrentTasks.length, 2)
|
||||
await vm.resolveDiscardPallet('P-1')
|
||||
assert.equal(vm.error, null)
|
||||
await vm.resolveDiscardPallet('BOX-2')
|
||||
assert.equal(vm.discardTask.palletNo, 'P-2')
|
||||
assert.deepEqual(vm.discardScannedMarks, ['BOX-2'])
|
||||
await vm.resolveDiscardPallet('BOX-3')
|
||||
assert.deepEqual(requests, ['P-1', 'BOX-2'])
|
||||
assert.equal(vm.discardTask.palletNo, 'P-2')
|
||||
assert.deepEqual(vm.discardScannedMarks, ['BOX-2'])
|
||||
})
|
||||
|
||||
test('discard requires restored photos and retains task while native camera returns', async () => {
|
||||
const { vm, definition } = page({ requireSession: () => true, restoreFulfillmentDraft() {} })
|
||||
vm.discardCurrent = { discardNo: 'CD-1' }; vm.discardTask = { palletNo: 'PALLET', status: 'PENDING', skus: [{ itemId: 'sku', plannedPackages: 3 }] }; vm.discardActuals = { sku: 3 }
|
||||
|
||||
Reference in New Issue
Block a user