Files
measurement/test/edge/invalid-payload.edge.test.js

29 lines
853 B
JavaScript
Raw Normal View History

2026-02-19 17:37:21 +01:00
const test = require('node:test');
const assert = require('node:assert/strict');
const NodeClass = require('../../src/nodeClass');
const { makeNodeStub, makeREDStub } = require('../helpers/factories');
2026-02-23 13:17:03 +01:00
test('measurement topic accepts numeric strings and ignores non-numeric objects', () => {
2026-02-19 17:37:21 +01:00
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 } }, () => {}, () => {});
2026-02-23 13:17:03 +01:00
assert.deepEqual(calls, [42]);
2026-02-19 17:37:21 +01:00
});