Files
reactor/test/basic/register-child.basic.test.js
2026-02-19 17:37:42 +01:00

40 lines
1019 B
JavaScript

const test = require('node:test');
const assert = require('node:assert/strict');
const NodeClass = require('../../src/nodeClass');
const { makeNodeStub } = require('../helpers/factories');
test('_registerChild emits delayed registration message on output 2', () => {
const inst = Object.create(NodeClass.prototype);
const node = makeNodeStub();
inst.node = node;
inst.config = {
functionality: {
positionVsParent: 'downstream',
},
};
const originalSetTimeout = global.setTimeout;
const delays = [];
global.setTimeout = (fn, ms) => {
delays.push(ms);
fn();
return 1;
};
try {
inst._registerChild();
} finally {
global.setTimeout = originalSetTimeout;
}
assert.deepEqual(delays, [100]);
assert.equal(node._sent.length, 1);
assert.equal(Array.isArray(node._sent[0]), true);
assert.equal(node._sent[0][2].topic, 'registerChild');
assert.equal(node._sent[0][2].payload, node.id);
assert.equal(node._sent[0][2].positionVsParent, 'downstream');
});