补充后端核心链路自动化测试
This commit is contained in:
@@ -262,7 +262,7 @@ function generateSign(params, appSecret) {
|
||||
return crypto.createHash('md5').update(raw, 'utf8').digest('hex').toLowerCase()
|
||||
}
|
||||
|
||||
function isAgisoAutoDeliverySuccess(statusCode, payload) {
|
||||
export function isAgisoAutoDeliverySuccess(statusCode, payload) {
|
||||
if (statusCode < 200 || statusCode >= 300) {
|
||||
return false
|
||||
}
|
||||
@@ -286,7 +286,7 @@ function isAgisoAutoDeliverySuccess(statusCode, payload) {
|
||||
return false
|
||||
}
|
||||
|
||||
function resolveAgisoAutoDeliveryErrorMessage(payload, rawText, statusCode) {
|
||||
export function resolveAgisoAutoDeliveryErrorMessage(payload, rawText, statusCode) {
|
||||
if (payload && typeof payload === 'object') {
|
||||
for (const value of [payload.Error_Msg, payload.msg, payload.message, payload.error]) {
|
||||
const normalized = String(value || '').trim()
|
||||
|
||||
@@ -4,6 +4,8 @@ import assert from 'node:assert/strict'
|
||||
import {
|
||||
hasAgisoAutoDeliverySucceeded,
|
||||
isOrderReadyForAgisoAutoDelivery,
|
||||
isAgisoAutoDeliverySuccess,
|
||||
resolveAgisoAutoDeliveryErrorMessage,
|
||||
} from './auto-delivery-service.js'
|
||||
|
||||
test('isOrderReadyForAgisoAutoDelivery requires every task to be delivered', () => {
|
||||
@@ -28,3 +30,31 @@ test('hasAgisoAutoDeliverySucceeded detects successful context on any task', ()
|
||||
{ context_json: { agisoAutoDelivery: { status: 'failed' } } },
|
||||
]), false)
|
||||
})
|
||||
|
||||
test('isAgisoAutoDeliverySuccess accepts empty successful payloads and explicit success codes', () => {
|
||||
assert.equal(isAgisoAutoDeliverySuccess(200, {}), true)
|
||||
assert.equal(isAgisoAutoDeliverySuccess(200, { IsSuccess: true }), true)
|
||||
assert.equal(isAgisoAutoDeliverySuccess(200, { Error_Code: 0 }), true)
|
||||
assert.equal(isAgisoAutoDeliverySuccess(500, { IsSuccess: true }), false)
|
||||
assert.equal(isAgisoAutoDeliverySuccess(200, { Error_Code: 500 }), false)
|
||||
})
|
||||
|
||||
test('resolveAgisoAutoDeliveryErrorMessage prefers structured payload message before raw text', () => {
|
||||
assert.equal(
|
||||
resolveAgisoAutoDeliveryErrorMessage(
|
||||
{ Error_Msg: '库存不足' },
|
||||
'raw body',
|
||||
400,
|
||||
),
|
||||
'库存不足',
|
||||
)
|
||||
|
||||
assert.equal(
|
||||
resolveAgisoAutoDeliveryErrorMessage(
|
||||
{},
|
||||
'fallback raw body',
|
||||
400,
|
||||
),
|
||||
'fallback raw body',
|
||||
)
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user