1
0
mirror of https://github.com/node-red/node-red.git synced 2023-10-10 13:36:53 +02:00

improve split node accumulation test to include early complete

This commit is contained in:
Dave Conway-Jones 2018-09-05 08:36:56 +01:00
parent 72b8dbb45b
commit 8123828113
No known key found for this signature in database
GPG Key ID: 9E7F9C73F5168CD4

View File

@ -603,14 +603,14 @@ describe('JOIN node', function() {
}); });
it('should accumulate a merged object', function(done) { it('should accumulate a merged object', function(done) {
var flow = [{id:"n1", type:"join", wires:[["n2"]], build:"merged",mode:"custom",accumulate:true, count:1}, var flow = [{id:"n1", type:"join", wires:[["n2"]], build:"merged",mode:"custom",accumulate:true, count:3},
{id:"n2", type:"helper"}]; {id:"n2", type:"helper"}];
helper.load(joinNode, flow, function() { helper.load(joinNode, flow, function() {
var n1 = helper.getNode("n1"); var n1 = helper.getNode("n1");
var n2 = helper.getNode("n2"); var n2 = helper.getNode("n2");
var c = 0; var c = 0;
n2.on("input", function(msg) { n2.on("input", function(msg) {
if (c === 5) { if (c === 3) {
try { try {
msg.should.have.property("payload"); msg.should.have.property("payload");
msg.payload.should.have.property("a",3); msg.payload.should.have.property("a",3);
@ -632,14 +632,14 @@ describe('JOIN node', function() {
}); });
it('should be able to reset an accumulation', function(done) { it('should be able to reset an accumulation', function(done) {
var flow = [{id:"n1", type:"join", wires:[["n2"]], build:"merged",accumulate:true,mode:"custom", count:1}, var flow = [{id:"n1", type:"join", wires:[["n2"]], build:"merged",accumulate:true,mode:"custom", count:3},
{id:"n2", type:"helper"}]; {id:"n2", type:"helper"}];
helper.load(joinNode, flow, function() { helper.load(joinNode, flow, function() {
var n1 = helper.getNode("n1"); var n1 = helper.getNode("n1");
var n2 = helper.getNode("n2"); var n2 = helper.getNode("n2");
var c = 0; var c = 0;
n2.on("input", function(msg) { n2.on("input", function(msg) {
if (c === 3) { if (c === 1) {
try { try {
msg.should.have.property("payload"); msg.should.have.property("payload");
msg.payload.should.have.property("a",1); msg.payload.should.have.property("a",1);
@ -649,11 +649,20 @@ describe('JOIN node', function() {
} }
catch(e) { done(e) } catch(e) { done(e) }
} }
if (c === 5) { if (c === 2) {
try { try {
msg.should.have.property("payload"); msg.should.have.property("payload");
msg.payload.should.have.property("b",2); msg.payload.should.have.property("e",2);
msg.payload.should.have.property("c",1); msg.payload.should.have.property("f",1);
}
catch(e) { done(e) }
}
if (c === 3) {
try {
msg.should.have.property("payload");
msg.payload.should.have.property("g",2);
msg.payload.should.have.property("h",1);
msg.payload.should.have.property("i",3);
done(); done();
} }
catch(e) { done(e) } catch(e) { done(e) }
@ -664,8 +673,11 @@ describe('JOIN node', function() {
n1.receive({payload:{b:2}, topic:"b"}); n1.receive({payload:{b:2}, topic:"b"});
n1.receive({payload:{c:3}, topic:"c"}); n1.receive({payload:{c:3}, topic:"c"});
n1.receive({payload:{d:4}, topic:"d", complete:true}); n1.receive({payload:{d:4}, topic:"d", complete:true});
n1.receive({payload:{b:2}, topic:"e"}); n1.receive({payload:{e:2}, topic:"e"});
n1.receive({payload:{c:1}, topic:"f"}); n1.receive({payload:{f:1}, topic:"f", complete:true});
n1.receive({payload:{g:2}, topic:"g"});
n1.receive({payload:{h:1}, topic:"h"});
n1.receive({payload:{i:3}, topic:"i"});
}); });
}); });