This commit is contained in:
2026-10-22 14:37:59 +08:00
parent de96e47d74
commit 760bf8daa1
49 changed files with 2450 additions and 117 deletions
+26 -2
View File
@@ -1,13 +1,37 @@
import assert from 'node:assert/strict'
import test from 'node:test'
import { summarizeReport } from './acceptance-overview.mjs'
import { summarizeReport, describeHomepageBusinessCoverage } from './acceptance-overview.mjs'
import { readFileSync } from 'node:fs'
import { describeAcceptanceScope } from './admin-test-env-acceptance.mjs'
test('业务覆盖清单逐项对应客户端首页八个入口,未闭环不可标记通过', () => {
const homepage = readFileSync(new URL('../../apps/client-web/src/modules/dashboard/views/DashboardView.vue', import.meta.url), 'utf8')
const actions = [...homepage.matchAll(/\{ title: '([^']+)'[^\n]+route: '([^']+)'/g)]
.map(match => ({ title: match[1], route: match[2] }))
const businesses = describeHomepageBusinessCoverage()
assert.equal(actions.length, 8)
assert.deepEqual(businesses.map(({ title, route }) => ({ title, route })), actions)
const scope = describeAcceptanceScope()
const registered = new Set([...scope.defaultModules, ...scope.optionalModules])
for (const business of businesses) {
assert.ok(business.modules.every(name => registered.has(name)))
assert.ok(business.additionalModules.every(({ name }) => registered.has(name)))
assert.ok(business.remaining)
assert.equal(business.currentVersionVerified, false)
assert.equal(business.endToEndCoverage, 'INCOMPLETE')
}
assert.equal(businesses.find(item => item.title === '海外采购').additionalModules[0].skippedWithFixedResources, false)
})
test('注册表返回独立副本,默认与可选不重复', () => {
const scope = describeAcceptanceScope()
assert.ok(scope.defaultModules.includes('appointment-work'))
assert.ok(scope.optionalModules.includes('phase4-overseas-return-followups'))
assert.ok(scope.defaultModules.includes('phase4-overseas-return-followups'))
assert.ok(scope.optionalModules.every((name) => !scope.defaultModules.includes(name)))
assert.ok(scope.fixedResourceSkippedModules.includes('customers'))
assert.ok(!scope.fixedResourceSkippedModules.includes('suppliers'))
scope.fixedResourceSkippedModules.length = 0
assert.ok(describeAcceptanceScope().fixedResourceSkippedModules.length > 0)
scope.defaultModules.length = 0
assert.ok(describeAcceptanceScope().defaultModules.length > 0)
})