mirror of
https://github.com/PR0M3TH3AN/SeedPass.git
synced 2025-09-07 14:58:56 +00:00
35 lines
1.3 KiB
JavaScript
35 lines
1.3 KiB
JavaScript
const { buildNav } = require('../src/generator');
|
|
|
|
test('generates navigation tree', () => {
|
|
const pages = [
|
|
{ file: 'guide/install.md', data: { title: 'Install', order: 1 } },
|
|
{ file: 'guide/usage.md', data: { title: 'Usage', order: 2 } },
|
|
{ file: 'guide/nested/info.md', data: { title: 'Info', order: 1 } }
|
|
];
|
|
const tree = buildNav(pages);
|
|
const guide = tree.find(n => n.name === 'guide');
|
|
expect(guide).toBeDefined();
|
|
expect(guide.children.length).toBe(3);
|
|
const install = guide.children.find(c => c.name === 'install.md');
|
|
expect(install.path).toBe('/guide/install.html');
|
|
});
|
|
|
|
test('adds display names and section flags', () => {
|
|
const pages = [
|
|
{ file: '02-api.md', data: { title: 'API', order: 2 } },
|
|
{ file: '01-guide/index.md', data: { title: 'Guide', order: 1 } },
|
|
{ file: '01-guide/setup.md', data: { title: 'Setup', order: 2 } },
|
|
{ file: 'index.md', data: { title: 'Home', order: 10 } }
|
|
];
|
|
const nav = buildNav(pages);
|
|
expect(nav[0].name).toBe('index.md');
|
|
const guide = nav.find(n => n.name === '01-guide');
|
|
expect(guide.displayName).toBe('Guide');
|
|
expect(guide.isSection).toBe(true);
|
|
const api = nav.find(n => n.name === '02-api.md');
|
|
expect(api.displayName).toBe('API');
|
|
// alphabetical within same order
|
|
expect(nav[1].name).toBe('01-guide');
|
|
expect(nav[2].name).toBe('02-api.md');
|
|
});
|