test(fba): preserve verified fleet and fulfillment acceptance workflows
This commit is contained in:
@@ -15,9 +15,6 @@ const FIXTURE_UNAVAILABLE = {
|
||||
INBOUNDING: '自动入库在同一调用内继续推进 WAIT_SPLIT,无可暂停 API',
|
||||
VOIDED: '当前 Controller/Service 没有作废入库单的公开 API',
|
||||
},
|
||||
unifiedOrders: {
|
||||
DELIVERED: '当前后端没有完成派送并写入 DELIVERED 的公开业务 API',
|
||||
},
|
||||
}
|
||||
|
||||
function rows(value) { return Array.isArray(value) ? value : [] }
|
||||
@@ -46,6 +43,25 @@ export function missingRequiredStateFixtures(matrix) {
|
||||
.map((status) => `${page}:${status}`))
|
||||
}
|
||||
|
||||
export async function attachDeliveredOrderFixture(context, matrix) {
|
||||
const fulfilled = context.createdResources?.phase5OverseasFulfillment
|
||||
const proof = fulfilled?.orderCompletionProof
|
||||
const customerId = id(proof?.customerId)
|
||||
const orderId = id(proof?.rootOrderId)
|
||||
if (fulfilled?.marker !== context.marker || !customerId || !orderId || !proof?.rootDelivered || proof.expectedCompleted !== false) {
|
||||
throw new Error('DELIVERED 样本须复用本轮已签收且仍有有效余量的履约根')
|
||||
}
|
||||
const response = await context.request('GET',
|
||||
`/api/platform/v1/orders/${encodeURIComponent(orderId)}?tenantId=${encodeURIComponent(customerId)}`)
|
||||
const detail = context.apiSuccess(MODULE, '回读真实签收产生的 DELIVERED 统一订单', response, '', OPTIONS)
|
||||
const valid = id(detail?.summary?.orderId) === orderId && detail?.summary?.mainStatus === 'DELIVERED'
|
||||
context.assert(MODULE, 'DELIVERED 样本客户与真实根签收状态正确', response, valid,
|
||||
`orderId=${orderId}, status=${detail?.summary?.mainStatus || 'missing'}`, OPTIONS)
|
||||
if (!valid) throw new Error('DELIVERED 履约根详情未收敛到真实签收状态')
|
||||
matrix.pages.unifiedOrders.fixtures.DELIVERED = { id: orderId, status: 'DELIVERED',
|
||||
customerId, detailPath: `/orders/${orderId}` }
|
||||
}
|
||||
|
||||
function registerFixtureUnavailableGaps(context, matrix) {
|
||||
for (const [page, value] of Object.entries(matrix?.pages || {})) {
|
||||
for (const [status, gap] of Object.entries(value?.coverageGaps || {})) {
|
||||
@@ -102,6 +118,7 @@ export async function run(context) {
|
||||
}
|
||||
|
||||
await attachUnifiedOrderFixture(context, matrix, 'phase3Loading', 'LOADED')
|
||||
await attachDeliveredOrderFixture(context, matrix)
|
||||
normalizeStateRequirements(matrix)
|
||||
registerFixtureUnavailableGaps(context, matrix)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user