Let change node set type if total match

remove unnecessary 2 step move when not required.
add test for moving sub property up to main property
This commit is contained in:
Dave Conway-Jones
2016-10-10 11:10:36 +01:00
parent 3a8820397b
commit 4d19f881e9
3 changed files with 34 additions and 12 deletions

View File

@@ -47,7 +47,7 @@ describe('change Node', function() {
});
});
it('should load defaults if set to change', function(done) {
var flow = [{ id: "c1", type: "change", name:"change1", action:"change" }];
var flow = [{ id: "c1", type: "change", name:"change1", action:"change" }];
helper.load(changeNode, flow, function() {
//console.log(helper.getNode("c1"));
helper.getNode("c1").should.have.property("name", "change1");
@@ -689,6 +689,25 @@ describe('change Node', function() {
changeNode1.receive({payload:"bar"});
});
});
it('moves the value of a message sub-property object to a property', function(done) {
var flow = [{"id":"changeNode1","type":"change","rules":[{"t":"move","p":"payload.foo","pt":"msg","to":"payload","tot":"msg"}],"name":"changeNode","wires":[["helperNode1"]]},
{id:"helperNode1", type:"helper", wires:[]}];
helper.load(changeNode, flow, function() {
var changeNode1 = helper.getNode("changeNode1");
var helperNode1 = helper.getNode("helperNode1");
helperNode1.on("input", function(msg) {
try {
msg.should.have.property('payload');
msg.payload.should.equal("bar");
(typeof msg.payload).should.equal("string");
done();
} catch(err) {
done(err);
}
});
changeNode1.receive({payload:{foo:"bar"}});
});
});
});
describe('- multiple rules', function() {