24 lines
1.3 KiB
JavaScript
24 lines
1.3 KiB
JavaScript
import assert from 'node:assert/strict'
|
|
import { readFileSync } from 'node:fs'
|
|
import test from 'node:test'
|
|
|
|
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')
|
|
|
|
test('默认全量验收先准备已审核商户再运行订单链路', () => {
|
|
const modules = acceptance.match(/const CONFIGURED_MODULES = \[([^\n]+)\]/)?.[1] || ''
|
|
assert.match(modules, /^'merchant-qualification-fixture', 'customers'/)
|
|
assert.ok(modules.indexOf("'merchant-qualification-fixture'") < modules.indexOf("'orders'"))
|
|
assert.match(acceptance, /DEFAULT_MODULES\s*=\s*normalizeModuleOrder\(CONFIGURED_MODULES\)/)
|
|
})
|
|
|
|
test('商户夹具通过正式 File 和 IAM 审核流程建立下单资格', () => {
|
|
assert.match(fixture, /files\/qualifications\/\$\{encodeURIComponent\(tenantId\)\}\/required-package/)
|
|
assert.match(fixture, /iam\/tenants\/\$\{encodeURIComponent\(tenantId\)\}\/submit-review/)
|
|
assert.match(fixture, /iam\/reviews\/\$\{encodeURIComponent\(review\.id\)\}\/approve/)
|
|
assert.match(fixture, /item\.status === 'APPROVED'/)
|
|
assert.match(fixture, /MERCHANT_TEST_USERNAME/)
|
|
assert.match(fixture, /MERCHANT_TEST_PASSWORD/)
|
|
assert.doesNotMatch(fixture, /internal\/iam|UPDATE\s+iam_|INSERT\s+INTO\s+iam_/i)
|
|
})
|