UNPKG

node-red-node-test-helper

Version:
82 lines (74 loc) 2.4 kB
var helper = require("../index.js"); var lowerNode = require("./nodes/lower-case.js"); helper.init(require.resolve('node-red')); describe('lower-case Node', function () { afterEach(function () { helper.unload(); }); it('should be loaded', function (done) { var flow = [{ id: "n1", type: "lower-case", name: "lower-case" }]; helper.load(lowerNode, flow, function () { var n1 = helper.getNode("n1"); try { n1.should.have.property('name', 'lower-case'); done(); } catch(err) { done(err); } }); }); it('should be loaded in exported flow', function (done) { var flow = [{"id":"3912a37a.c3818c","type":"lower-case","z":"e316ac4b.c85a2","name":"lower-case","x":240,"y":320,"wires":[[]]}]; helper.load(lowerNode, flow, function () { var n1 = helper.getNode("3912a37a.c3818c"); try { n1.should.have.property('name', 'lower-case'); done(); } catch(err) { done(err); } }); }); it('should make payload lower case', function (done) { var flow = [ { id: "n1", type: "lower-case", name: "test name",wires:[["n2"]] }, { id: "n2", type: "helper" } ]; helper.load(lowerNode, flow, function () { var n2 = helper.getNode("n2"); var n1 = helper.getNode("n1"); n2.on("input", function (msg) { try { msg.should.have.property('payload', 'uppercase'); done(); } catch(err) { done(err); } }); n1.receive({ payload: "UpperCase" }); }); }); it('should modify the flow then lower case of payload', async function () { const flow = [ { id: "n2", type: "helper" } ] await helper.load(lowerNode, flow) const newFlow = [...flow] newFlow.push( { id: "n1", type: "lower-case", name: "lower-case", wires:[['n2']] },) await helper.setFlows(newFlow) const n1 = helper.getNode('n1') n1.should.have.a.property('name', 'lower-case') await new Promise((resolve, reject) => { const n2 = helper.getNode('n2') n2.on('input', function (msg) { try { msg.should.have.property('payload', 'hello'); resolve() } catch (err) { reject(err); } }); n1.receive({ payload: 'HELLO' }); }); }); });