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
|
proof.approvedNo = approvedNo
|
||||||
await review(approvedNo,'APPROVE')
|
await review(approvedNo,'APPROVE')
|
||||||
const approved = await discardSnapshot(context,token,proof,approvedNo); proof.snapshots.approved = approved
|
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'
|
||||||
require('正式废弃合同要求审批事务扣减一箱', approved.detail?.summary?.status === 'APPROVED' && available(base)-available(approved) === 1)
|
&& sameStock(base, approved)
|
||||||
|
&& Number(approved.source?.availablePackages || 0) === Number(base.source.availablePackages) - 1)
|
||||||
await review(approvedNo,'APPROVE')
|
await review(approvedNo,'APPROVE')
|
||||||
require('重复批准不会提前扣库存或新增历史', stable(await discardSnapshot(context,token,proof,approvedNo)) === stable(approved))
|
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,{})
|
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 = {
|
context.createdResources.phase4OverseasClientServices = {
|
||||||
marker: context.marker, relabelNo: null, transferNo: null, discardNo: null,
|
marker: context.marker, relabelNo: null, transferNo: null, discardNo: null,
|
||||||
finalStatuses: { relabel: null, transfer: null, discard: 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)
|
const token = await loginMerchant(context)
|
||||||
if (!token) return
|
if (!token) return
|
||||||
|
|||||||
Reference in New Issue
Block a user