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'); });