test: align full-chain fixture invariants

This commit is contained in:
2026-09-14 17:45:56 +08:00
parent e26b39ba0a
commit b3d74c5441
2 changed files with 33 additions and 10 deletions
@@ -373,7 +373,10 @@ export async function run(context) {
if (!assignedItem?.id || !Number.isInteger(Number(assignedItem.version))) return
const warehouseRemark = `${context.marker}-WAREHOUSE-REMARK`
const warehouseRemarkPath = `${smartLoadingBase}/plans/${loadingPlanId}/items/${id(assignedItem.id)}/remarks`
const warehouseRemarkBody = Object.freeze({ warehouseRemark,
const warehouseRemarkBody = Object.freeze({
internalRemark: assignedItem.internalRemark,
warehouseRemark,
customerServiceRemark: assignedItem.customerServiceRemark,
expectedPlanVersion: Number(assignedLoadingPlan.version), expectedItemVersion: Number(assignedItem.version),
operationId: `${context.marker}-${loadingPlanId}-warehouse-remark`.slice(0, 128) })
const remarkResponse = await request(context, 'PATCH', warehouseRemarkPath, warehouseRemarkBody)
@@ -413,7 +416,10 @@ export async function run(context) {
`planVersion=${afterStaleRemarkPlan?.version ?? 'missing'}, itemVersion=${afterStaleRemarkItem?.version ?? 'missing'}`, OPTIONS)
const clearRemarkResponse = await request(context, 'PATCH',
`${smartLoadingBase}/plans/${loadingPlanId}/items/${id(remarkedItem.id)}/remarks`, {
warehouseRemark: ' ', expectedPlanVersion: Number(remarkedPlan.version),
internalRemark: remarkedItem.internalRemark,
warehouseRemark: ' ',
customerServiceRemark: remarkedItem.customerServiceRemark,
expectedPlanVersion: Number(remarkedPlan.version),
expectedItemVersion: Number(remarkedItem.version), operationId: `${context.marker}-${loadingPlanId}-warehouse-remark-clear`.slice(0, 128),
})
const clearedPlan = context.apiSuccess(MODULE, 'EDITING 装柜明细空白仓库备注归一化为 null', clearRemarkResponse, '', OPTIONS)
@@ -425,7 +431,10 @@ export async function run(context) {
if (!clearedItem?.id) return
const restoreRemarkResponse = await request(context, 'PATCH',
`${smartLoadingBase}/plans/${loadingPlanId}/items/${id(clearedItem.id)}/remarks`, {
warehouseRemark, expectedPlanVersion: Number(clearedPlan.version), expectedItemVersion: Number(clearedItem.version),
internalRemark: clearedItem.internalRemark,
warehouseRemark,
customerServiceRemark: clearedItem.customerServiceRemark,
expectedPlanVersion: Number(clearedPlan.version), expectedItemVersion: Number(clearedItem.version),
operationId: `${context.marker}-${loadingPlanId}-warehouse-remark-restore`.slice(0, 128),
})
const persistedRemarkPlan = context.apiSuccess(MODULE, '恢复真实仓库备注供装柜完成事件下发', restoreRemarkResponse, '', OPTIONS)
@@ -461,10 +470,13 @@ export async function run(context) {
const pushedLinksResponse = await context.request('GET', `${smartLoadingBase}/plans/${loadingPlanId}/preloads`)
const pushedLinks = context.apiSuccess(MODULE, '无号推送自动建立 bridge 关联', pushedLinksResponse, '', OPTIONS)
const link = Array.isArray(pushedLinks) ? pushedLinks.find((item) => id(item.inboundId) === inboundId) : null
const allocatedPackages = (persistedRemarkPlan?.items || [])
.filter((item) => id(item.inboundId) === inboundId)
.reduce((sum, item) => sum + Number(item.packageCount || 0), 0)
context.assert(MODULE, 'push 自动建立唯一预装关联且分配身份稳定', pushedLinksResponse,
Boolean(link?.id) && id(link?.loadingPlanId) === loadingPlanId && id(link?.preloadPlanId) === planId
&& Number(link?.allocatedPackageCount) === 1,
`linkId=${id(link?.id) || 'missing'}, preloadPlanId=${id(link?.preloadPlanId) || 'missing'}`, OPTIONS)
&& Number(link?.allocatedPackageCount) === allocatedPackages,
`linkId=${id(link?.id) || 'missing'}, preloadPlanId=${id(link?.preloadPlanId) || 'missing'}, allocated=${link?.allocatedPackageCount ?? 'missing'}, expected=${allocatedPackages}`, OPTIONS)
if (!link?.id) return
const postPushPlanResponse = await context.request('GET', `${smartLoadingBase}/plans/${loadingPlanId}`)
const postPushPlan = context.apiSuccess(MODULE, '首次 push 后读取事务完成态柜次计划', postPushPlanResponse, '', OPTIONS)