From 0c26e1e99dad6a85d74de10d72614213ee1dfb5a Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Mon, 5 Oct 2026 12:00:09 +0800 Subject: [PATCH] test(discard): expect approval to reserve stock until PDA confirmation --- .../phase4-overseas-client-services.mjs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/admin-test-env-modules/phase4-overseas-client-services.mjs b/scripts/admin-test-env-modules/phase4-overseas-client-services.mjs index 36868b0ec..813d9455b 100644 --- a/scripts/admin-test-env-modules/phase4-overseas-client-services.mjs +++ b/scripts/admin-test-env-modules/phase4-overseas-client-services.mjs @@ -349,8 +349,9 @@ export async function verifyDiscardApproval(context, token, body, discardNo, pro proof.approvedNo = approvedNo await review(approvedNo,'APPROVE') const approved = await discardSnapshot(context,token,proof,approvedNo); proof.snapshots.approved = approved - const available = snapshot => snapshot.balances.reduce((sum,row)=>sum+Number(row.availablePackages),0) - require('正式废弃合同要求审批事务扣减一箱', approved.detail?.summary?.status === 'APPROVED' && available(base)-available(approved) === 1) + require('批准只保留锁箱且库存数量流水不变', approved.detail?.summary?.status === 'APPROVED' + && sameStock(base, approved) + && Number(approved.source?.availablePackages || 0) === Number(base.source.availablePackages) - 1) await review(approvedNo,'APPROVE') require('重复批准不会提前扣库存或新增历史', stable(await discardSnapshot(context,token,proof,approvedNo)) === stable(approved)) const reverse = await context.request('POST',query(`${root}/${encodeURIComponent(approvedNo)}/review`,{customerId:proof.customerId}),{decision:'REJECT',remark:context.marker},context.token,{}) @@ -365,7 +366,7 @@ export async function run(context) { context.createdResources.phase4OverseasClientServices = { marker: context.marker, relabelNo: null, transferNo: null, discardNo: null, finalStatuses: { relabel: null, transfer: null, discard: null }, - cleanup: 'Relabel remains pending; transfer review fixtures retained; discard rejection and approval-transaction deduction checked; no outbound, dispatch or delivery action is invoked', + cleanup: 'Relabel remains pending; transfer review fixtures retained; discard rejection and approval lock checked; actual stock deduction requires separate PDA confirmation; no outbound, dispatch or delivery action is invoked', } const token = await loginMerchant(context) if (!token) return