Merge remote-tracking branch 'origin/test' into dev

# Conflicts:
#	scripts/acceptance-finance-full-contract.test.mjs
#	scripts/admin-test-env-acceptance.mjs
This commit is contained in:
2026-09-04 16:43:43 +08:00
11 changed files with 76 additions and 12 deletions
@@ -4,19 +4,29 @@ import fs from 'node:fs'
import http from 'node:http'
import path from 'node:path'
import { fileURLToPath } from 'node:url'
import { AcceptanceRun } from './admin-test-env-acceptance.mjs'
import { AcceptanceRun, normalizeModuleOrder } from './admin-test-env-acceptance.mjs'
const here = path.dirname(fileURLToPath(import.meta.url))
const source = fs.readFileSync(path.join(here, 'admin-test-env-acceptance.mjs'), 'utf8')
test('默认全量按 fixture、reconciliation、settlement、downloads 顺序接入且不包含旧 finance', () => {
test('默认全量按新财务链执行直接收付款隔离且不包含旧 finance', () => {
const match = source.match(/const CONFIGURED_MODULES = \[(.*?)\]/s)
assert.ok(match)
const modules = [...match[1].matchAll(/'([^']+)'/g)].map((item) => item[1])
const financeStart = modules.indexOf('finance-full-fixtures')
assert.deepEqual(modules.slice(financeStart, financeStart + 4), ['finance-full-fixtures', 'finance-reconciliation-full', 'finance-settlement-full', 'finance-downloads'])
assert.deepEqual(modules.slice(financeStart, financeStart + 5), [
'finance-full-fixtures', 'finance-reconciliation-full', 'finance-direct-paid-isolation',
'finance-settlement-full', 'finance-downloads',
])
assert.equal(modules.includes('finance'), false)
assert.match(source, /fullFinanceChain/)
const normalized = normalizeModuleOrder(modules)
const normalizedFinanceStart = normalized.indexOf('finance-full-fixtures')
assert.deepEqual(normalized.slice(normalizedFinanceStart, normalizedFinanceStart + 5), [
'finance-full-fixtures', 'finance-reconciliation-full', 'finance-direct-paid-isolation',
'finance-settlement-full', 'finance-downloads',
])
})
test('multipart request preserves FormData boundary and unified response evidence', () => {