29 lines
853 B
JavaScript
29 lines
853 B
JavaScript
const test = require('node:test');
|
|
const assert = require('node:assert/strict');
|
|
|
|
const NodeClass = require('../../src/nodeClass');
|
|
const { makeNodeStub, makeREDStub } = require('../helpers/factories');
|
|
|
|
test('measurement topic accepts numeric strings and ignores non-numeric objects', () => {
|
|
const inst = Object.create(NodeClass.prototype);
|
|
const node = makeNodeStub();
|
|
const calls = [];
|
|
|
|
inst.node = node;
|
|
inst.RED = makeREDStub();
|
|
inst.source = {
|
|
set inputValue(v) { calls.push(v); },
|
|
toggleSimulation() {},
|
|
toggleOutlierDetection() {},
|
|
calibrate() {},
|
|
};
|
|
|
|
inst._attachInputHandler();
|
|
const onInput = node._handlers.input;
|
|
|
|
onInput({ topic: 'measurement', payload: '42' }, () => {}, () => {});
|
|
onInput({ topic: 'measurement', payload: { value: 42 } }, () => {}, () => {});
|
|
|
|
assert.deepEqual(calls, [42]);
|
|
});
|