test(discard): expect approval to reserve stock until PDA confirmation
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user