test: align customs acceptance with receipt confirmation

This commit is contained in:
2026-09-25 23:00:00 +08:00
parent bdf14dffb5
commit 8940c4bcff
4 changed files with 36 additions and 7 deletions
@@ -201,11 +201,22 @@ async function runRefund(context, routes, fixture) {
}
}
const completedReady = await platformDetail(context, routes, fixture)
const completed = await routes.platformComplete(context, fixture, {
expectedVersion: Number(completedReady.body?.data?.version), remark: context.marker,
}, key(context, 'refund-complete'))
context.assert(MODULE, '最后一份完成文件后纯退税柜完成', completed,
success(completed) && completed.body?.data?.status === 'COMPLETED', evidence(completed), OPTIONS)
const confirmed = []
for (const customer of customers) {
const document = documents.find((item) => (item.inboundIds || []).some((inboundId) =>
customer.inboundIds.map(id).includes(id(inboundId))))
if (!document) continue
const version = Number(document.source?.version || completedReady.body?.data?.documents
?.find((item) => id(item.documentId) === id(document.documentId))?.source?.version || 0)
const response = await routes.merchantConfirmReceipt(context, fixture, customer, {
documentId: id(document.documentId), expectedVersion: version, confirm: true, remark: context.marker,
}, key(context, `refund-receipt-confirm-${customer.customerId}`))
confirmed.push(response)
}
const completed = await platformDetail(context, routes, fixture)
context.assert(MODULE, '客户确认整份回执后纯退税柜完成', completed,
success(completed) && completed.body?.data?.status === 'COMPLETED'
&& confirmed.every(success), evidence(completed), OPTIONS)
const firstDocument = documents[0]
if (firstDocument) {
@@ -335,6 +346,19 @@ async function runMixedConcurrency(context, routes, fixture) {
context.assert(MODULE, '完成文件同键异载荷A0409', completionDifferent,
a0409(completionDifferent), evidence(completionDifferent), OPTIONS)
const receiptVersion = Number(completion.body?.data?.source?.version || completion.body?.data?.version || 0)
const receiptConfirm = await routes.merchantConfirmReceipt(context, fixture, customer, {
documentId: customer.documentId, expectedVersion: receiptVersion, confirm: true, remark: context.marker,
}, key(context, 'mixed-receipt-confirm'))
const receiptReplay = await routes.merchantConfirmReceipt(context, fixture, customer, {
documentId: customer.documentId, expectedVersion: receiptVersion, confirm: true, remark: context.marker,
}, key(context, 'mixed-receipt-confirm'))
context.assert(MODULE, '客户确认整份回执并同键重放', receiptReplay || receiptConfirm,
success(receiptConfirm) && success(receiptReplay)
&& receiptConfirm.body?.data?.status === 'COMPLETED'
&& receiptReplay.body?.data?.status === 'COMPLETED',
[receiptConfirm, receiptReplay].map((response) => evidence(response)).join('; '), OPTIONS)
let completed = await platformDetail(context, routes, fixture)
context.assert(MODULE, '混合柜最后一份完成文件后整柜COMPLETED', completed,
success(completed) && completed.body?.data?.status === 'COMPLETED', evidence(completed), OPTIONS)