import {test} from 'node:test'; import assert from 'node:assert/strict'; import {readFileSync, existsSync} from 'node:fs'; const read = p => readFileSync(p, 'utf8'); test('Strategy has one canonical Target, then Roadmap, without a landing menu duplicate', () => { const sidebar = read('sidebars/strategy.ts').split('strategySidebar: [')[1].split(']')[0]; const ids = [...sidebar.matchAll(/'([^']+)'/g)].map(match => match[1]); assert.deepEqual(ids, ['target-operating-model', 'roadmap', 'skills-governance', 'skills-quality', 'skills-adoption', 'measurement', 'skills-maintenance']); assert.equal(ids.filter(id => id === 'target-operating-model').length, 1); assert.match(read('docs/strategy/target-operating-model.mdx'), /^sidebar_label: Target$/m); assert.match(read('docusaurus.config.ts'), /type: 'docSidebar', docsPluginId: 'strategy', sidebarId: 'strategySidebar', label: 'Strategy'/); }); test('old Strategy entry redirects to Target instead of maintaining a second document', () => { assert(!existsSync('docs/strategy/index.mdx')); assert.match(read('docusaurus.config.ts'), /'@docusaurus\/plugin-client-redirects'/); assert.match(read('docusaurus.config.ts'), /from: '\/strategy\/', to: '\/strategy\/target-operating-model\/'/); });