import assert from 'node:assert/strict'; import test from 'node:test'; import { buildModules } from './modules.js'; function moduleIds(roles?: string[]): string[] { return buildModules('asset', roles).map(module => module.id); } function heatmapChildIds(roles?: string[]): string[] { const heatmap = buildModules('asset', roles).find(module => module.id === 'heatmap'); return heatmap?.children?.map(module => module.id) ?? []; } test('keeps the base asset navigation and role-gated scheduling module', () => { assert.deepEqual(moduleIds(), ['assets', 'mileage', 'heatmap']); assert.deepEqual(moduleIds(['BI-SCHEDULE-OPT']), [ 'assets', 'mileage', 'heatmap', 'scheduling', ]); }); test('keeps energy heatmap visibility and the independent energy navigation', () => { assert.deepEqual(heatmapChildIds(), ['vehicle-heatmap']); assert.deepEqual(heatmapChildIds(['BI-LEADER-ENERGY']), [ 'hydrogen-heatmap', 'vehicle-heatmap', ]); assert.deepEqual(heatmapChildIds(['所有权限']), [ 'hydrogen-heatmap', 'vehicle-heatmap', ]); assert.deepEqual( buildModules('energy', []).map(module => module.id), ['hydrogen', 'electric', 'etc'], ); });