test: target dynamic loading detail precisely

This commit is contained in:
2026-08-25 14:18:13 +08:00
parent 5fb80d7624
commit f1af749616
3 changed files with 26 additions and 3 deletions
@@ -1160,9 +1160,15 @@ export async function run(context) {
inboundId: incrementalInboundId, inboundDetailId: id(dynamicCandidate.inboundDetailId), packageCount: 1,
expectedVersion: Number(planBeforeIncrement?.version),
operationId: `${context.marker}-dynamic-assign`.slice(0, 128),
})
})
const incrementedPlan = context.apiSuccess(MODULE, 'LOADING 阶段向同一 PDA task 增加入库单', incrementResponse, '', OPTIONS)
const incrementalPlanItem = incrementedPlan?.items?.find?.((item) => id(item?.inboundId) === incrementalInboundId)
const incrementalPlanItems = (incrementedPlan?.items || []).filter((item) =>
id(item?.inboundId) === incrementalInboundId
&& id(item?.inboundDetailId) === id(dynamicCandidate.inboundDetailId))
const incrementalPlanItem = incrementalPlanItems.length === 1 ? incrementalPlanItems[0] : null
context.assert(MODULE, '动态新增计划明细按 inboundDetailId 唯一定位', incrementResponse,
incrementalPlanItems.length === 1 && id(incrementalPlanItem?.inboundDetailId) === id(dynamicCandidate.inboundDetailId),
`inboundId=${incrementalInboundId}, inboundDetailId=${id(dynamicCandidate.inboundDetailId)}, matches=${incrementalPlanItems.length}, planItemId=${id(incrementalPlanItem?.id) || 'missing'}`, OPTIONS)
const preservedRemarkItem = incrementedPlan?.items?.find?.((item) => id(item?.id) === id(assignedItem.id))
const incrementedTaskResponse = await context.request('GET', taskDetailPath)
const incrementedTask = context.apiSuccess(MODULE, '增量后回查稳定 PDA 四元身份', incrementedTaskResponse, '', OPTIONS)
@@ -1228,7 +1234,14 @@ export async function run(context) {
})
const reassignedPlan = context.apiSuccess(MODULE, '删除后重新加入同一动态入库单', reassignResponse, '', OPTIONS)
let effectiveDynamicPlan = reassignedPlan
let reassignedPlanItem = reassignedPlan?.items?.find?.((item) => id(item?.inboundId) === incrementalInboundId)
const reassignedPlanItems = (reassignedPlan?.items || []).filter((item) =>
id(item?.inboundId) === incrementalInboundId
&& id(item?.inboundDetailId) === id(dynamicCandidate.inboundDetailId))
let reassignedPlanItem = reassignedPlanItems.length === 1 ? reassignedPlanItems[0] : null
context.assert(MODULE, '重新加入动态明细仍按 inboundDetailId 唯一定位', reassignResponse,
reassignedPlanItems.length === 1
&& id(reassignedPlanItem?.inboundDetailId) === id(dynamicCandidate.inboundDetailId),
`inboundId=${incrementalInboundId}, inboundDetailId=${id(dynamicCandidate.inboundDetailId)}, matches=${reassignedPlanItems.length}, planItemId=${id(reassignedPlanItem?.id) || 'missing'}`, OPTIONS)
context.assert(MODULE, '动态增量 fixture 至少保留两件可用数量供调整与最小已拣门禁', dynamicCandidatesResponse,
Number(dynamicCandidate?.availablePackageCount) >= 2,
`availablePackageCount=${dynamicCandidate?.availablePackageCount ?? 'missing'}`, OPTIONS)