diff --git a/test/nodes/core/core/20-inject_spec.js b/test/nodes/core/core/20-inject_spec.js index 798d59fb3..7a9d424bd 100644 --- a/test/nodes/core/core/20-inject_spec.js +++ b/test/nodes/core/core/20-inject_spec.js @@ -21,8 +21,7 @@ var helper = require("node-red-node-test-helper"); describe('inject node', function() { - before(function(done) { - helper.startServer(done); + beforeEach(function(done) { Context.init({ contextStorage: { memory: { @@ -30,17 +29,19 @@ describe('inject node', function() { } } }); - Context.load(); + Context.load().then(function () { + helper.startServer(done); + }); }); - after(function(done) { - helper.stopServer(done); - }); - - afterEach(function() { - helper.unload(); - Context.clean({allNodes: {}}); - Context.close(); + afterEach(function(done) { + helper.unload().then(function () { + return Context.clean({allNodes: {}}); + }).then(function () { + return Context.close(); + }).then(function () { + helper.stopServer(done); + }); }); it('sets the value of flow context property', function (done) { diff --git a/test/nodes/core/core/89-trigger_spec.js b/test/nodes/core/core/89-trigger_spec.js index f19bc42fe..4d83d1b68 100644 --- a/test/nodes/core/core/89-trigger_spec.js +++ b/test/nodes/core/core/89-trigger_spec.js @@ -18,16 +18,30 @@ var should = require("should"); var sinon = require("sinon"); var helper = require("node-red-node-test-helper"); var triggerNode = require("../../../../nodes/core/core/89-trigger.js"); +var Context = require("../../../../red/runtime/nodes/context"); var RED = require("../../../../red/red.js"); describe('trigger node', function() { beforeEach(function(done) { - helper.startServer(done); + Context.init({ + contextStorage: { + memory: { + module: "memory" + } + } + }); + Context.load().then(function () { + helper.startServer(done); + }); }); afterEach(function(done) { - helper.unload().then(function() { + helper.unload().then(function () { + return Context.clean({allNodes: {}}); + }).then(function () { + return Context.close(); + }).then(function () { helper.stopServer(done); }); }); @@ -312,7 +326,33 @@ describe('trigger node', function() { }); n1.emit("input", {payload:null}); }); + }); + it('should be able to return things from persistable flow and global context variables', function (done) { + var flow = [{"id": "n1", "type": "trigger", "name": "triggerNode", "op1": "#:(memory)::foo", "op1type": "flow", + "op2": "#:(memory)::bar", "op2type": "global", "duration": "20", "wires": [["n2"]], "z": "flow" }, + {"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) { + try { + if (c === 0) { + msg.should.have.a.property("payload", "foo"); + c += 1; + } else { + msg.should.have.a.property("payload", "bar"); + done(); + } + } catch (err) { + done(err); + } + }); + n1.context().flow.set("foo", "foo"); + n1.context().global.set("bar", "bar"); + n1.emit("input", { payload: null }); + }); }); it('should be able to not output anything on first trigger', function(done) { diff --git a/test/nodes/core/logic/15-change_spec.js b/test/nodes/core/logic/15-change_spec.js index ecaa009b5..d002a266d 100644 --- a/test/nodes/core/logic/15-change_spec.js +++ b/test/nodes/core/logic/15-change_spec.js @@ -24,7 +24,6 @@ var helper = require("node-red-node-test-helper"); describe('change Node', function() { beforeEach(function(done) { - helper.startServer(done); Context.init({ contextStorage: { memory: { @@ -32,14 +31,19 @@ describe('change Node', function() { } } }); - Context.load(); + Context.load().then(function () { + helper.startServer(done); + }); }); afterEach(function(done) { - helper.unload(); - helper.stopServer(done); - Context.clean({allNodes:{}}); - Context.close(); + helper.unload().then(function () { + return Context.clean({allNodes: {}}); + }).then(function () { + return Context.close(); + }).then(function () { + helper.stopServer(done); + }); }); it('should load node with defaults', function(done) {