const { test } = require('node:test'); const assert = require('node:assert/strict'); const fs = require('node:fs'); const path = require('node:path'); const root = path.join(__dirname, '..'); function read(relativePath) { return fs.readFileSync(path.join(root, relativePath), 'utf8'); } test('PE Guide static content is loaded from JSON data', () => { const source = read('public/js/peGuide.js'); const data = JSON.parse(read('public/data/pe-guide.json')); assert.match(source, /PE_GUIDE_DATA_URL = '\/data\/pe-guide\.json'/); assert.match(source, /async function init\(\)/); assert.match(source, /await loadPeGuideData\(\)/); assert.doesNotMatch(source, /newborn:\s*\{/); assert.deepEqual(Object.keys(data.peData), ['newborn', 'infant', 'toddler', 'preschool', 'school', 'adolescent']); assert.ok(data.peData.newborn.msk.components.length > 0); assert.ok(data.peData.adolescent.cv.components.length > 0); assert.ok(data.scales.mrc.rows.length > 0); assert.ok(data.systemScales.cv.includes('murmurGrade')); assert.ok(data.respiratorySounds.length >= 7); assert.ok(data.cardiacSounds.length >= 6); });