fix: treat missing return records as empty results
This commit is contained in:
@@ -50,3 +50,27 @@ test('return receipt API calls only the dedicated PDA routes and preserves the r
|
||||
assert.ok(calls.every((item) => item.authorization === 'Bearer return-token'))
|
||||
assert.ok(calls.every((item) => !Object.hasOwn(item.data || {}, 'customerId') && !Object.hasOwn(item.data || {}, 'warehouseId')))
|
||||
})
|
||||
|
||||
test('return receipt lookup treats A0404 and HTTP 404 as empty results', async () => {
|
||||
session.apiBase = '/overseas-api'; session.token = 'return-token'
|
||||
let requestCount = 0
|
||||
globalThis.uni = {
|
||||
request(options) {
|
||||
requestCount += 1
|
||||
if (requestCount === 1) options.success({ statusCode: 404, data: { code: 'A0404', message: '当前仓没有待签收或签收中的退货单' }, header: {} })
|
||||
else options.success({ statusCode: 404, data: {}, header: {} })
|
||||
}
|
||||
}
|
||||
assert.equal(await startReturnReceipt('MISSING-RETURN'), null)
|
||||
assert.deepEqual(await findReturnSkuCandidates('MISSING-SKU'), { skuCode: 'MISSING-SKU', candidates: [] })
|
||||
})
|
||||
|
||||
test('return receipt lookup still rejects real service errors', async () => {
|
||||
session.apiBase = '/overseas-api'; session.token = 'return-token'
|
||||
globalThis.uni = {
|
||||
request(options) {
|
||||
options.success({ statusCode: 500, data: { code: 'B0500', message: '服务暂不可用' }, header: {} })
|
||||
}
|
||||
}
|
||||
await assert.rejects(() => startReturnReceipt('RT-001'), (error) => error.code === 'B0500')
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user