优化
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
import assert from 'node:assert/strict'
|
||||
import test from 'node:test'
|
||||
import { summarizeReport } from './acceptance-overview.mjs'
|
||||
import { describeAcceptanceScope } from './admin-test-env-acceptance.mjs'
|
||||
|
||||
test('注册表返回独立副本,默认与可选不重复', () => {
|
||||
const scope = describeAcceptanceScope()
|
||||
assert.ok(scope.defaultModules.includes('appointment-work'))
|
||||
assert.ok(scope.optionalModules.includes('phase4-overseas-return-followups'))
|
||||
assert.ok(scope.optionalModules.every((name) => !scope.defaultModules.includes(name)))
|
||||
scope.defaultModules.length = 0
|
||||
assert.ok(describeAcceptanceScope().defaultModules.length > 0)
|
||||
})
|
||||
|
||||
test('旧报告全绿也不推断默认全量或当前版本通过', () => {
|
||||
const result = summarizeReport({ success: true, steps: [{ module: 'orders', passed: true }] })
|
||||
assert.equal(result.scope, 'UNKNOWN_LEGACY_REPORT')
|
||||
assert.equal(result.currentVersionVerified, false)
|
||||
assert.equal(result.result, 'RECORDED_CHECKS_PASSED')
|
||||
})
|
||||
|
||||
test('跳过、覆盖缺口和未执行模块不能被success掩盖', () => {
|
||||
const base = { success: true, steps: [{ module: 'orders', passed: true }],
|
||||
executionScope: { plannedModules: ['orders', 'finance'], defaultModules: ['orders', 'finance'] } }
|
||||
assert.equal(summarizeReport(base).result, 'INCOMPLETE')
|
||||
assert.deepEqual(summarizeReport(base).missingPlannedModules, ['finance'])
|
||||
assert.equal(summarizeReport({ ...base, coverageGaps: [{ blocking: true }] }).result, 'FAILED')
|
||||
assert.equal(summarizeReport({ steps: [{ passed: true, skipped: true }] }).result, 'INCOMPLETE')
|
||||
assert.equal(summarizeReport({ steps: [{ passed: true }], modules: [{ name: 'orders', skipped: true }] }).result, 'INCOMPLETE')
|
||||
})
|
||||
|
||||
test('前置退出与接口失败分开统计,输出不携带敏感载荷', () => {
|
||||
const result = summarizeReport({ success: false, gateway: 'SECRET', steps: [
|
||||
{ module: 'exports', passed: false, request: { path: 'SECRET' }, message: 'SECRET' },
|
||||
{ module: 'dependent', passed: false, evidence: 'SECRET' },
|
||||
] })
|
||||
assert.equal(result.failed, 2)
|
||||
assert.equal(result.failuresWithRequest, 1)
|
||||
assert.equal(result.failuresWithoutRequest, 1)
|
||||
assert.equal(JSON.stringify(result).includes('SECRET'), false)
|
||||
})
|
||||
|
||||
test('准备数据和局部模式不冒充完整验收,空报告拒绝', () => {
|
||||
assert.equal(summarizeReport({ fullAcceptance: false, steps: [{ passed: true }] }).result, 'INCOMPLETE')
|
||||
assert.throws(() => summarizeReport({ success: true, steps: [] }), /steps/)
|
||||
})
|
||||
Reference in New Issue
Block a user