mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
test a few extra paths in several nodes
trigger, switch and file (and linted delay just because)
This commit is contained in:
parent
595ff63b72
commit
d0f57efe0b
@ -28,7 +28,6 @@ var secondsToMinutes = 60;
|
||||
var secondsToHours = 3600;
|
||||
var secondsToDays = 86400;
|
||||
|
||||
|
||||
describe('delay Node', function() {
|
||||
|
||||
beforeEach(function(done) {
|
||||
|
@ -285,13 +285,39 @@ describe('trigger Node', function() {
|
||||
var n2 = helper.getNode("n2");
|
||||
var c = 0;
|
||||
n2.on("input", function(msg) {
|
||||
c += 1;
|
||||
msg.should.have.a.property("payload", 1);
|
||||
});
|
||||
setTimeout( function() {
|
||||
n1.emit("input", {reset:true});
|
||||
done();
|
||||
},500);
|
||||
n1.emit("input", {payload:null});
|
||||
if (c === 2) { done(); }
|
||||
},100);
|
||||
n1.emit("input", {payload:null}); // trigger
|
||||
n1.emit("input", {payload:null}); // blocked
|
||||
n1.emit("input", {payload:null}); // blocked
|
||||
n1.emit("input", {reset:true}); // clear the blockage
|
||||
n1.emit("input", {payload:null}); // trigger
|
||||
});
|
||||
});
|
||||
|
||||
it('should be able to set infinite timeout, and clear timeout by message', function(done) {
|
||||
var flow = [{"id":"n1", "type":"trigger", "name":"triggerNode", reset:"boo", duration:-5, wires:[["n2"]] },
|
||||
{id:"n2", type:"helper"} ];
|
||||
helper.load(triggerNode, flow, function() {
|
||||
var n1 = helper.getNode("n1");
|
||||
var n2 = helper.getNode("n2");
|
||||
var c = 0;
|
||||
n2.on("input", function(msg) {
|
||||
c += 1;
|
||||
msg.should.have.a.property("payload", 1);
|
||||
});
|
||||
setTimeout( function() {
|
||||
if (c === 2) { done(); }
|
||||
},100);
|
||||
n1.emit("input", {payload:null}); // trigger
|
||||
n1.emit("input", {payload:null}); // blocked
|
||||
n1.emit("input", {payload:null}); // blocked
|
||||
n1.emit("input", {payload:"boo"}); // clear the blockage
|
||||
n1.emit("input", {payload:null}); // trigger
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -184,7 +184,7 @@ describe('switch Node', function() {
|
||||
});
|
||||
|
||||
it('should check if payload is between given values', function(done) {
|
||||
twoFieldSwitchTest("btwn", 3, 5, true, true, 4, done);
|
||||
twoFieldSwitchTest("btwn", "3", "5", true, true, 4, done);
|
||||
});
|
||||
|
||||
it('should check if payload is not between given values', function(done) {
|
||||
@ -243,18 +243,25 @@ describe('switch Node', function() {
|
||||
singularSwitchTest(false, true, false, true, done);
|
||||
});
|
||||
|
||||
it('should check if input is indeed null', function(done) {
|
||||
var flow = [{id:"switchNode1",type:"switch",name:"switchNode",property:"payload",rules:[{"t":"null"}],checkall:true,outputs:1,wires:[["helperNode1"]]},
|
||||
it('should check input against a previous value', function(done) {
|
||||
var flow = [{id:"switchNode1",type:"switch",name:"switchNode",property:"payload",rules:[{ "t": "gt", "v": "", "vt": "prev" }],checkall:true,outputs:1,wires:[["helperNode1"]]},
|
||||
{id:"helperNode1", type:"helper", wires:[]}];
|
||||
|
||||
|
||||
helper.load(switchNode, flow, function() {
|
||||
var switchNode1 = helper.getNode("switchNode1");
|
||||
var helperNode1 = helper.getNode("helperNode1");
|
||||
var c = 0;
|
||||
helperNode1.on("input", function(msg) {
|
||||
if (msg.payload) {
|
||||
try {
|
||||
should.fail(null, null, "msg.payload should be undefined!");
|
||||
if (c === 0) {
|
||||
msg.payload.should.equal(1);
|
||||
}
|
||||
if (c === 1) {
|
||||
msg.payload.should.equal(2);
|
||||
done();
|
||||
}
|
||||
c += 1;
|
||||
} catch (err) {
|
||||
done(err);
|
||||
}
|
||||
@ -262,6 +269,81 @@ describe('switch Node', function() {
|
||||
done();
|
||||
}
|
||||
});
|
||||
switchNode1.receive({payload:1});
|
||||
switchNode1.receive({payload:0});
|
||||
switchNode1.receive({payload:-2});
|
||||
switchNode1.receive({payload:2});
|
||||
});
|
||||
});
|
||||
|
||||
it('should check input against a previous value (2nd option)', function(done) {
|
||||
var flow = [{id:"switchNode1",type:"switch",name:"switchNode",property:"payload",rules:[{"t": "btwn", "v": "10", "vt": "num", "v2": "", "v2t": "prev" }],checkall:true,outputs:1,wires:[["helperNode1"]]},
|
||||
{id:"helperNode1", type:"helper", wires:[]}];
|
||||
|
||||
helper.load(switchNode, flow, function() {
|
||||
var switchNode1 = helper.getNode("switchNode1");
|
||||
var helperNode1 = helper.getNode("helperNode1");
|
||||
var c = 0;
|
||||
helperNode1.on("input", function(msg) {
|
||||
if (msg.payload) {
|
||||
try {
|
||||
if (c === 0) {
|
||||
msg.payload.should.equal(20);
|
||||
}
|
||||
if (c === 1) {
|
||||
msg.payload.should.equal(25);
|
||||
done();
|
||||
}
|
||||
c += 1;
|
||||
} catch (err) {
|
||||
done(err);
|
||||
}
|
||||
} else {
|
||||
done();
|
||||
}
|
||||
});
|
||||
switchNode1.receive({payload:0});
|
||||
switchNode1.receive({payload:20}); // between 10 and 0
|
||||
switchNode1.receive({payload:30}); // between 10 and 20
|
||||
switchNode1.receive({payload:20}); // between 10 and 30 yes
|
||||
switchNode1.receive({payload:30}); // between 10 and 20 no
|
||||
switchNode1.receive({payload:25}); // between 10 and 30 yes
|
||||
});
|
||||
});
|
||||
|
||||
it('should check if input is indeed null', function(done) {
|
||||
var flow = [{id:"switchNode1",type:"switch",name:"switchNode",property:"payload",rules:[{"t":"null"}],checkall:true,outputs:1,wires:[["helperNode1"]]},
|
||||
{id:"helperNode1", type:"helper", wires:[]}];
|
||||
|
||||
helper.load(switchNode, flow, function() {
|
||||
var switchNode1 = helper.getNode("switchNode1");
|
||||
var helperNode1 = helper.getNode("helperNode1");
|
||||
helperNode1.on("input", function(msg) {
|
||||
if (msg.payload === null) {
|
||||
done();
|
||||
} else {
|
||||
console.log("msg is ",msg);
|
||||
}
|
||||
});
|
||||
switchNode1.receive({payload:null});
|
||||
});
|
||||
});
|
||||
|
||||
it('should check if input is indeed undefined', function(done) {
|
||||
var flow = [{id:"switchNode1",type:"switch",name:"switchNode",property:"payload",rules:[{"t":"null"}],checkall:true,outputs:1,wires:[["helperNode1"]]},
|
||||
{id:"helperNode1", type:"helper", wires:[]}];
|
||||
|
||||
helper.load(switchNode, flow, function() {
|
||||
var switchNode1 = helper.getNode("switchNode1");
|
||||
var helperNode1 = helper.getNode("helperNode1");
|
||||
helperNode1.on("input", function(msg) {
|
||||
if (msg.payload === undefined) {
|
||||
done();
|
||||
}
|
||||
else {
|
||||
console.log("msg is ",msg);
|
||||
}
|
||||
});
|
||||
switchNode1.receive({payload:undefined});
|
||||
});
|
||||
});
|
||||
@ -349,7 +431,6 @@ describe('switch Node', function() {
|
||||
{id:"helperNode2", type:"helper", wires:[]},
|
||||
{id:"helperNode3", type:"helper", wires:[]}];
|
||||
|
||||
|
||||
helper.load(switchNode, flow, function() {
|
||||
var switchNode1 = helper.getNode("switchNode1");
|
||||
var helperNode1 = helper.getNode("helperNode1");
|
||||
|
@ -71,11 +71,13 @@ describe('file Nodes', function() {
|
||||
n1.emit("input", {payload:"test2"}); // string
|
||||
setTimeout(function() {
|
||||
n1.emit("input", {payload:true}); // boolean
|
||||
n1.emit("input", {payload:1});
|
||||
n1.emit("input", {payload:[2]});
|
||||
},50);
|
||||
setTimeout(function() {
|
||||
var f = fs.readFileSync(fileToTest).toString();
|
||||
f.should.have.length(11);
|
||||
f.should.equal("test2\ntrue\n");
|
||||
f.should.have.length(17);
|
||||
f.should.equal("test2\ntrue\n1\n[2]\n");
|
||||
done();
|
||||
},wait);
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user