mirror of
https://github.com/node-red/node-red.git
synced 2025-03-01 10:36:34 +00:00
Inject node - let once delay be editable (#1541)
* inject once with delay * test for inject delay at once works * give access to the once delay of the inject node * change event not needed in HTML * code review with Dave * rename test * tests for default and optional delay * test once with delay and repeat
This commit is contained in:
committed by
Nick O'Leary
parent
af5df890a5
commit
4ff6e792cd
@@ -28,22 +28,69 @@ describe('inject node', function() {
|
||||
helper.unload();
|
||||
});
|
||||
|
||||
it('should inject once', function(done) {
|
||||
it('should inject once with default delay property', function(done) {
|
||||
helper.load(injectNode, [{id:"n1", type:"inject", topic: "t1",
|
||||
payload:"",payloadType:"date",
|
||||
once: true, wires:[["n2"]] },
|
||||
{id:"n2", type:"helper"}],
|
||||
function() {
|
||||
var n1 = helper.getNode("n1");
|
||||
n1.should.have.property('onceDelay', 100);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
helper.load(injectNode, [{id:"n1", type:"inject",
|
||||
payload:"payload", topic: "t1",
|
||||
it('should inject once with default delay', function(done) {
|
||||
var timestamp = new Date();
|
||||
timestamp.setSeconds(timestamp.getSeconds() + 1);
|
||||
|
||||
helper.load(injectNode, [{id:"n1", type:"inject", topic: "t1",
|
||||
payload:"",payloadType:"date",
|
||||
once: true, wires:[["n2"]] },
|
||||
{id:"n2", type:"helper"}],
|
||||
function() {
|
||||
var n2 = helper.getNode("n2");
|
||||
n2.on("input", function(msg) {
|
||||
msg.should.have.property('topic', 't1');
|
||||
msg.should.have.property('payload', 'payload');
|
||||
msg.should.have.property('payload');
|
||||
should(msg.payload).be.lessThan(timestamp.getTime());
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it('should inject once with 500 msec. delay', function(done) {
|
||||
helper.load(injectNode, [{id:"n1", type:"inject", topic: "t1",
|
||||
payload:"",payloadType:"date",
|
||||
once: true, onceDelay: 0.5, wires:[["n2"]] },
|
||||
{id:"n2", type:"helper"}],
|
||||
function() {
|
||||
var n1 = helper.getNode("n1");
|
||||
n1.should.have.property('onceDelay', 500);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should inject once with delay of two seconds', function(done) {
|
||||
this.timeout(2700); // have to wait for the inject with delay of two seconds
|
||||
|
||||
var timestamp = new Date();
|
||||
timestamp.setSeconds(timestamp.getSeconds() + 1);
|
||||
|
||||
helper.load(injectNode, [{id:"n1", type:"inject", topic: "t1",
|
||||
payload:"",payloadType:"date",
|
||||
once: true, onceDelay: 2, wires:[["n2"]] },
|
||||
{id:"n2", type:"helper"}],
|
||||
function() {
|
||||
var n2 = helper.getNode("n2");
|
||||
n2.on("input", function(msg) {
|
||||
msg.should.have.property('topic', 't1');
|
||||
should(msg.payload).be.greaterThan(timestamp.getTime());
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it('should inject repeatedly', function(done) {
|
||||
|
||||
helper.load(injectNode, [{id:"n1", type:"inject",
|
||||
@@ -66,6 +113,30 @@ describe('inject node', function() {
|
||||
});
|
||||
});
|
||||
|
||||
it('should inject once with delay of two seconds and repeatedly', function(done) {
|
||||
var timestamp = new Date();
|
||||
timestamp.setSeconds(timestamp.getSeconds() + 1);
|
||||
|
||||
helper.load(injectNode, [{id:"n1", type:"inject", topic: "t1",
|
||||
payload:"",payloadType:"date", repeat: 0.2,
|
||||
once: true, onceDelay: 1.2, wires:[["n2"]] },
|
||||
{id:"n2", type:"helper"}],
|
||||
function() {
|
||||
var n2 = helper.getNode("n2");
|
||||
var count = 0;
|
||||
n2.on("input", function(msg) {
|
||||
msg.should.have.property('topic', 't1');
|
||||
should(msg.payload).be.greaterThan(timestamp.getTime());
|
||||
count += 1;
|
||||
if (count > 2) {
|
||||
helper.clearFlows().then(function() {
|
||||
done();
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it('should inject with cron', function(done) {
|
||||
helper.load(injectNode, [{id:"n1", type:"inject",
|
||||
payloadType:"date", topic: "t3",
|
||||
|
Reference in New Issue
Block a user