34 lines
1.1 KiB
JavaScript
34 lines
1.1 KiB
JavaScript
const test = require('node:test');
|
|
const assert = require('node:assert/strict');
|
|
|
|
const ConfigManager = require('../src/configs/index.js');
|
|
|
|
test('can read known config and report existence', () => {
|
|
const manager = new ConfigManager('.');
|
|
assert.equal(manager.hasConfig('measurement'), true);
|
|
|
|
const config = manager.getConfig('measurement');
|
|
assert.ok(config.functionality);
|
|
assert.ok(config.functionality.softwareType);
|
|
});
|
|
|
|
test('getAvailableConfigs includes known names', () => {
|
|
const manager = new ConfigManager('.');
|
|
const configs = manager.getAvailableConfigs();
|
|
assert.ok(configs.includes('measurement'));
|
|
assert.ok(configs.includes('rotatingMachine'));
|
|
});
|
|
|
|
test('createEndpoint creates executable JS payload shell', () => {
|
|
const manager = new ConfigManager('.');
|
|
const script = manager.createEndpoint('measurement');
|
|
|
|
assert.match(script, /window\.EVOLV\.nodes\.measurement/);
|
|
assert.match(script, /config loaded and endpoint created/);
|
|
});
|
|
|
|
test('getConfig throws on missing config', () => {
|
|
const manager = new ConfigManager('.');
|
|
assert.throws(() => manager.getConfig('definitely-not-real'), /Failed to load config/);
|
|
});
|