test: strengthen customs and fulfillment acceptance boundaries
This commit is contained in:
@@ -1,11 +1,37 @@
|
||||
import assert from 'node:assert/strict'
|
||||
import { readFileSync } from 'node:fs'
|
||||
import test from 'node:test'
|
||||
import { qualificationCreditCode } from './merchant-qualification-fixture.mjs'
|
||||
|
||||
const acceptance = readFileSync(new URL('../admin-test-env-acceptance.mjs', import.meta.url), 'utf8')
|
||||
const fixture = readFileSync(new URL('./merchant-qualification-fixture.mjs', import.meta.url), 'utf8')
|
||||
const orders = readFileSync(new URL('./orders.mjs', import.meta.url), 'utf8')
|
||||
|
||||
test('credit codes distinguish repeated CUSTOMER-B and SIGNED-B fixtures using the complete marker', () => {
|
||||
const customerId = '2100000000000000001'
|
||||
const values = []
|
||||
for (const ending of ['CUSTOMER-B', 'SIGNED-B']) {
|
||||
const firstMarker = `ADMIN-API-20260930121500000-${ending}`
|
||||
const secondMarker = `ADMIN-API-20260930121600000-${ending}`
|
||||
const first = qualificationCreditCode(firstMarker, customerId)
|
||||
const second = qualificationCreditCode(secondMarker, customerId)
|
||||
assert.notEqual(first, second, `时间不同但后缀同为 ${ending} 必须生成不同代码`)
|
||||
assert.equal(qualificationCreditCode(firstMarker, customerId), first)
|
||||
for (const value of [first, second]) assert.match(value, /^91440300[0-9A-F]{10}$/)
|
||||
values.push(first, second)
|
||||
}
|
||||
assert.equal(new Set(values).size, values.length)
|
||||
assert.match(fixture, /unifiedSocialCreditCode = qualificationCreditCode\(context\.marker, tenantId\)/)
|
||||
})
|
||||
|
||||
test('a new real customer under the same marker receives a distinct stable code', () => {
|
||||
const marker = 'ADMIN-API-20260930121500000-CUSTOMER-B'
|
||||
assert.notEqual(qualificationCreditCode(marker, '2100000000000000001'),
|
||||
qualificationCreditCode(marker, '2100000000000000002'))
|
||||
assert.throws(() => qualificationCreditCode('', '2100000000000000001'), /完整批次标识/)
|
||||
assert.throws(() => qualificationCreditCode(marker, ''), /真实客户编号/)
|
||||
})
|
||||
|
||||
test('默认全量验收先准备已审核商户再运行订单链路', () => {
|
||||
const modules = acceptance.match(/const CONFIGURED_MODULES = \[([^\n]+)\]/)?.[1] || ''
|
||||
assert.match(modules, /^'merchant-qualification-fixture', 'customers'/)
|
||||
|
||||
Reference in New Issue
Block a user