77 lines
3.7 KiB
JavaScript
77 lines
3.7 KiB
JavaScript
import assert from 'node:assert/strict'
|
|
import fs from 'node:fs'
|
|
import test from 'node:test'
|
|
|
|
const contract = JSON.parse(
|
|
fs.readFileSync(new URL('../contracts/subdomain-industry-routing.json', import.meta.url), 'utf8'),
|
|
)
|
|
const frontend = fs.readFileSync(new URL('../src/main.tsx', import.meta.url), 'utf8')
|
|
const architecture = JSON.parse(
|
|
fs.readFileSync(new URL('../../../routing/hololake-current-architecture.json', import.meta.url), 'utf8'),
|
|
)
|
|
|
|
test('human identity numbers and industry routing numbers remain separate', () => {
|
|
assert.equal(contract.numbering.human_number_role, 'SUBJECT_IDENTITY_ONLY')
|
|
assert.equal(contract.numbering.industry_number_role, 'SYSTEM_ROUTING_ONLY')
|
|
assert.equal(contract.numbering.human_number_mutation_by_industry, false)
|
|
assert.equal(contract.numbering.industry_order_is_industry_number, false)
|
|
assert.equal(contract.numbering.unregistered_industry_number_behavior, 'DISPLAY_PENDING_AND_DO_NOT_INVENT')
|
|
})
|
|
|
|
test('subdomain owns the locked industry order and honest development states', () => {
|
|
assert.equal(contract.domain, 'BRANCH_DOMAIN')
|
|
assert.equal(contract.entry_surface, 'PUBLIC_MAIN_WORLD_SUBDOMAIN')
|
|
assert.deepEqual(
|
|
contract.industries.map(({ key, state }) => [key, state]),
|
|
[
|
|
['WEB_NOVEL', 'IN_DEVELOPMENT'],
|
|
['PET', 'PLANNED'],
|
|
['EDUCATION', 'IN_DEVELOPMENT'],
|
|
],
|
|
)
|
|
assert.equal(contract.industries[0].industry_number, 'IND-WEBNOVEL-001')
|
|
assert.equal(contract.industries[1].industry_number, null)
|
|
assert.equal(contract.industries[2].industry_number, null)
|
|
})
|
|
|
|
test('education initialization channel exposes the built-in foundation and development package features', () => {
|
|
const education = contract.industries.find((industry) => industry.key === 'EDUCATION')
|
|
assert.equal(education.initialization_channel.state, 'DEVELOPMENT_MODULE_MOUNTED')
|
|
assert.equal(education.initialization_channel.channel_id, 'GH-EDU-INIT-001')
|
|
assert.equal(education.initialization_channel.module_loading, 'HOT_PLUG_ON_DEMAND')
|
|
assert.equal(education.initialization_channel.module_slots.length, 5)
|
|
assert.deepEqual(
|
|
education.initialization_channel.module_slots.map((slot) => slot.state),
|
|
[
|
|
'DEVELOPMENT_MOUNTED',
|
|
'DEVELOPMENT_MOUNTED',
|
|
'DEVELOPMENT_MOUNTED',
|
|
'DEVELOPMENT_MOUNTED',
|
|
'DEVELOPMENT_MOUNTED',
|
|
],
|
|
)
|
|
assert.equal(education.initialization_channel.installed_native_modules, 1)
|
|
assert.equal(education.initialization_channel.development_mounted_modules, 1)
|
|
assert.equal(education.initialization_channel.installed_open_source_modules, 0)
|
|
})
|
|
|
|
test('the public main world routes through subdomain to web novel and education', () => {
|
|
assert.match(frontend, /worldStage === 'subdomainIndustries'/)
|
|
assert.match(frontend, /worldStage === 'educationChannel'/)
|
|
assert.match(frontend, /worldStage === 'webNovelChannel'/)
|
|
assert.match(frontend, /worldStage === 'webNovelWorkspace'/)
|
|
assert.match(frontend, /gate\.domain === 'BRANCH_DOMAIN'/)
|
|
assert.match(frontend, /光湖分域 · 行业系统/)
|
|
assert.match(frontend, /网文与教育正在收拢验收/)
|
|
assert.match(frontend, /网文行业初始化频道/)
|
|
assert.match(frontend, /教育行业初始化频道/)
|
|
assert.match(frontend, /频道基础文档与工作表引擎已内置/)
|
|
assert.match(frontend, /验收前不冒充已登记、已发布的商城模块/)
|
|
assert.doesNotMatch(frontend, /光湖零域 · 行业系统/)
|
|
assert.equal(architecture.current_native_edge.industry_entry_domain, 'BRANCH_DOMAIN')
|
|
assert.equal(architecture.current_native_edge.zero_domain_industry_entry, 'ABSENT_BY_CURRENT_CORRECTION')
|
|
assert.equal(
|
|
architecture.current_native_edge.education_initialization_channel,
|
|
'BUILT_IN_CHANNEL_WORKBENCH_WITH_DEVELOPMENT_EDUCATION_MODULE',
|
|
)
|
|
})
|