mirror of
https://github.com/node-red/node-red.git
synced 2025-03-01 10:36:34 +00:00
Update trigger node ui to use typedInputs
This commit is contained in:
@@ -18,7 +18,7 @@ var should = require("should");
|
||||
var helper = require("../../helper.js");
|
||||
var triggerNode = require("../../../../nodes/core/core/89-trigger.js");
|
||||
|
||||
describe('trigger Node', function() {
|
||||
describe('trigger node', function() {
|
||||
|
||||
beforeEach(function(done) {
|
||||
helper.startServer(done);
|
||||
@@ -37,8 +37,8 @@ describe('trigger Node', function() {
|
||||
n1.should.have.property('name', 'triggerNode');
|
||||
n1.should.have.property('op1', '1');
|
||||
n1.should.have.property('op2', '0');
|
||||
n1.should.have.property('op1type', 'val');
|
||||
n1.should.have.property('op2type', 'val');
|
||||
n1.should.have.property('op1type', 'str');
|
||||
n1.should.have.property('op2type', 'str');
|
||||
n1.should.have.property('extend', "false");
|
||||
n1.should.have.property('units', 'ms');
|
||||
n1.should.have.property('duration', 250);
|
||||
@@ -74,7 +74,7 @@ describe('trigger Node', function() {
|
||||
});
|
||||
|
||||
it('should output 1 then 0 when triggered (default)', function(done) {
|
||||
var flow = [{"id":"n1", "type":"trigger", "name":"triggerNode", wires:[["n2"]] },
|
||||
var flow = [{"id":"n1", "type":"trigger", "name":"triggerNode", duration:20, wires:[["n2"]] },
|
||||
{id:"n2", type:"helper"} ];
|
||||
helper.load(triggerNode, flow, function() {
|
||||
var n1 = helper.getNode("n1");
|
||||
@@ -95,50 +95,66 @@ describe('trigger Node', function() {
|
||||
});
|
||||
|
||||
it('should ignore any other inputs while triggered if extend is false', function(done) {
|
||||
var flow = [{"id":"n1", "type":"trigger", "name":"triggerNode", wires:[["n2"]] },
|
||||
var flow = [{"id":"n1", "type":"trigger", "name":"triggerNode", duration:50,wires:[["n2"]] },
|
||||
{id:"n2", type:"helper"} ];
|
||||
helper.load(triggerNode, flow, function() {
|
||||
var n1 = helper.getNode("n1");
|
||||
var n2 = helper.getNode("n2");
|
||||
var c = 0;
|
||||
var errored = false;
|
||||
n2.on("input", function(msg) {
|
||||
if (c === 0) {
|
||||
msg.should.have.a.property("payload", '1');
|
||||
try {
|
||||
if (c === 0) {
|
||||
msg.should.have.a.property("payload", '1');
|
||||
}
|
||||
else {
|
||||
msg.should.have.a.property("payload", '0');
|
||||
}
|
||||
c+=1;
|
||||
}
|
||||
else {
|
||||
msg.should.have.a.property("payload", '0');
|
||||
}catch(err) {
|
||||
errored = true;
|
||||
done(err);
|
||||
}
|
||||
});
|
||||
setTimeout( function() {
|
||||
c.should.equal(1);
|
||||
done();
|
||||
},500);
|
||||
if (!errored) {
|
||||
try {
|
||||
c.should.equal(2);
|
||||
done();
|
||||
} catch(err) {
|
||||
done(err);
|
||||
}
|
||||
}
|
||||
},100);
|
||||
n1.emit("input", {payload:null});
|
||||
setTimeout( function() {
|
||||
n1.emit("input", {payload:null});
|
||||
},75);
|
||||
},10);
|
||||
setTimeout( function() {
|
||||
n1.emit("input", {payload:null});
|
||||
},150);
|
||||
},30);
|
||||
});
|
||||
});
|
||||
|
||||
it('should handle true and false as strings and delay of 0', function(done) {
|
||||
var flow = [{"id":"n1", "type":"trigger", "name":"triggerNode", op1:"true", op2:"false", duration:30, wires:[["n2"]] },
|
||||
var flow = [{"id":"n1", "type":"trigger", "name":"triggerNode", op1:"true",op1type:"val",op2:"false",op2type:"val",duration:30, 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) {
|
||||
if (c === 0) {
|
||||
msg.should.have.a.property("payload", true);
|
||||
c+=1;
|
||||
}
|
||||
else {
|
||||
msg.should.have.a.property("payload", false);
|
||||
done();
|
||||
try {
|
||||
if (c === 0) {
|
||||
msg.should.have.a.property("payload", true);
|
||||
c+=1;
|
||||
}
|
||||
else {
|
||||
msg.should.have.a.property("payload", false);
|
||||
done();
|
||||
}
|
||||
} catch(err) {
|
||||
done(err);
|
||||
}
|
||||
});
|
||||
n1.emit("input", {payload:null});
|
||||
@@ -146,21 +162,25 @@ describe('trigger Node', function() {
|
||||
});
|
||||
|
||||
it('should be able to not output anything on first trigger', function(done) {
|
||||
var flow = [{"id":"n1", "type":"trigger", "name":"triggerNode", op1type:"nul", op1:"true", op2:"false", duration:30, wires:[["n2"]] },
|
||||
var flow = [{"id":"n1", "type":"trigger", "name":"triggerNode", op1type:"nul", op1:"true",op2:"false",op2type:"val",duration:30, wires:[["n2"]] },
|
||||
{id:"n2", type:"helper"} ];
|
||||
helper.load(triggerNode, flow, function() {
|
||||
var n1 = helper.getNode("n1");
|
||||
var n2 = helper.getNode("n2");
|
||||
n2.on("input", function(msg) {
|
||||
msg.should.have.a.property("payload", false);
|
||||
done();
|
||||
try {
|
||||
msg.should.have.a.property("payload", false);
|
||||
done();
|
||||
} catch(err) {
|
||||
done(err);
|
||||
}
|
||||
});
|
||||
n1.emit("input", {payload:null});
|
||||
});
|
||||
});
|
||||
|
||||
it('should be able to not output anything on second edge', function(done) {
|
||||
var flow = [{"id":"n1", "type":"trigger", "name":"triggerNode", op2type:"nul", op1:"true", op2:"false", duration:30, wires:[["n2"]] },
|
||||
var flow = [{"id":"n1", "type":"trigger", "name":"triggerNode", op2type:"nul", op1:"true",op1type:"val", op2:"false", duration:30, wires:[["n2"]] },
|
||||
{id:"n2", type:"helper"} ];
|
||||
helper.load(triggerNode, flow, function() {
|
||||
var n1 = helper.getNode("n1");
|
||||
@@ -173,13 +193,13 @@ describe('trigger Node', function() {
|
||||
setTimeout( function() {
|
||||
c.should.equal(1); // should only have had one output.
|
||||
done();
|
||||
},500);
|
||||
},90);
|
||||
n1.emit("input", {payload:null});
|
||||
});
|
||||
});
|
||||
|
||||
it('should be able to extend the delay', function(done) {
|
||||
var flow = [{"id":"n1", "type":"trigger", "name":"triggerNode", extend:"true", op1type:"pay", op1:"false", op2:"true", duration:200, wires:[["n2"]] },
|
||||
var flow = [{"id":"n1", "type":"trigger", "name":"triggerNode", extend:"true", op1type:"pay", op1:"false", op2:"true", duration:100, wires:[["n2"]] },
|
||||
{id:"n2", type:"helper"} ];
|
||||
helper.load(triggerNode, flow, function() {
|
||||
var n1 = helper.getNode("n1");
|
||||
@@ -191,9 +211,9 @@ describe('trigger Node', function() {
|
||||
c += 1;
|
||||
}
|
||||
else {
|
||||
msg.should.have.a.property("payload", true);
|
||||
msg.should.have.a.property("payload", "true");
|
||||
//console.log(Date.now() - ss);
|
||||
(Date.now() - ss).should.be.greaterThan(299);
|
||||
(Date.now() - ss).should.be.greaterThan(149);
|
||||
done();
|
||||
}
|
||||
});
|
||||
@@ -201,12 +221,12 @@ describe('trigger Node', function() {
|
||||
n1.emit("input", {payload:"Hello"});
|
||||
setTimeout( function() {
|
||||
n1.emit("input", {payload:null});
|
||||
},100);
|
||||
},50);
|
||||
});
|
||||
});
|
||||
|
||||
it('should be able to extend the delay (but with no 2nd output)', function(done) {
|
||||
var flow = [{"id":"n1", "type":"trigger", "name":"triggerNode", extend:"true", op1type:"pay", op2type:"nul", op1:"false", op2:"true", duration:200, wires:[["n2"]] },
|
||||
var flow = [{"id":"n1", "type":"trigger", "name":"triggerNode", extend:"true", op1type:"pay", op2type:"nul", op1:"false", op2:"true", duration:50, wires:[["n2"]] },
|
||||
{id:"n2", type:"helper"} ];
|
||||
helper.load(triggerNode, flow, function() {
|
||||
var n1 = helper.getNode("n1");
|
||||
@@ -220,7 +240,7 @@ describe('trigger Node', function() {
|
||||
else {
|
||||
msg.should.have.a.property("payload", "World");
|
||||
//console.log(Date.now() - ss);
|
||||
(Date.now() - ss).should.be.greaterThan(380);
|
||||
(Date.now() - ss).should.be.greaterThan(70);
|
||||
done();
|
||||
}
|
||||
});
|
||||
@@ -228,15 +248,15 @@ describe('trigger Node', function() {
|
||||
n1.emit("input", {payload:"Hello"});
|
||||
setTimeout( function() {
|
||||
n1.emit("input", {payload:"Error"});
|
||||
},100);
|
||||
},20);
|
||||
setTimeout( function() {
|
||||
n1.emit("input", {payload:"World"});
|
||||
},400);
|
||||
},80);
|
||||
});
|
||||
});
|
||||
|
||||
it('should be able to extend the delay and output the 2nd payload', function(done) {
|
||||
var flow = [{"id":"n1", "type":"trigger", "name":"triggerNode", extend:"true", op1type:"nul", op2type:"payl", op1:"false", op2:"true", duration:200, wires:[["n2"]] },
|
||||
var flow = [{"id":"n1", "type":"trigger", "name":"triggerNode", extend:"true", op1type:"nul", op2type:"payl", op1:"false", op2:"true", duration:50, wires:[["n2"]] },
|
||||
{id:"n2", type:"helper"} ];
|
||||
helper.load(triggerNode, flow, function() {
|
||||
var n1 = helper.getNode("n1");
|
||||
@@ -249,7 +269,7 @@ describe('trigger Node', function() {
|
||||
}
|
||||
else {
|
||||
msg.should.have.a.property("payload", "World");
|
||||
(Date.now() - ss).should.be.greaterThan(380);
|
||||
(Date.now() - ss).should.be.greaterThan(70);
|
||||
done();
|
||||
}
|
||||
});
|
||||
@@ -257,15 +277,15 @@ describe('trigger Node', function() {
|
||||
n1.emit("input", {payload:"Hello"});
|
||||
setTimeout( function() {
|
||||
n1.emit("input", {payload:"Goodbye"});
|
||||
},100);
|
||||
},20);
|
||||
setTimeout( function() {
|
||||
n1.emit("input", {payload:"World"});
|
||||
},400);
|
||||
},80);
|
||||
});
|
||||
});
|
||||
|
||||
it('should be able output the 2nd payload', function(done) {
|
||||
var flow = [{"id":"n1", "type":"trigger", "name":"triggerNode", extend:"false", op1type:"nul", op2type:"payl", op1:"false", op2:"true", duration:200, wires:[["n2"]] },
|
||||
var flow = [{"id":"n1", "type":"trigger", "name":"triggerNode", extend:"false", op1type:"nul", op2type:"payl", op1:"false", op2:"true", duration:50, wires:[["n2"]] },
|
||||
{id:"n2", type:"helper"} ];
|
||||
helper.load(triggerNode, flow, function() {
|
||||
var n1 = helper.getNode("n1");
|
||||
@@ -278,7 +298,7 @@ describe('trigger Node', function() {
|
||||
}
|
||||
else {
|
||||
msg.should.have.a.property("payload", "World");
|
||||
(Date.now() - ss).should.be.greaterThan(380);
|
||||
(Date.now() - ss).should.be.greaterThan(70);
|
||||
done();
|
||||
}
|
||||
});
|
||||
@@ -286,10 +306,10 @@ describe('trigger Node', function() {
|
||||
n1.emit("input", {payload:"Hello"});
|
||||
setTimeout( function() {
|
||||
n1.emit("input", {payload:"Goodbye"});
|
||||
},100);
|
||||
},20);
|
||||
setTimeout( function() {
|
||||
n1.emit("input", {payload:"World"});
|
||||
},400);
|
||||
},80);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -348,7 +368,7 @@ describe('trigger Node', function() {
|
||||
});
|
||||
setTimeout( function() {
|
||||
if (c === 2) { done(); }
|
||||
},100);
|
||||
},20);
|
||||
n1.emit("input", {payload:null}); // trigger
|
||||
n1.emit("input", {payload:null}); // blocked
|
||||
n1.emit("input", {payload:null}); // blocked
|
||||
@@ -370,7 +390,7 @@ describe('trigger Node', function() {
|
||||
});
|
||||
setTimeout( function() {
|
||||
if (c === 2) { done(); }
|
||||
},100);
|
||||
},20);
|
||||
n1.emit("input", {payload:null}); // trigger
|
||||
n1.emit("input", {payload:null}); // blocked
|
||||
n1.emit("input", {payload:null}); // blocked
|
||||
|
Reference in New Issue
Block a user