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

Add test cases of persistable context for trigger node

This commit is contained in:
Kazuhito Yokoi 2018-07-13 15:26:07 +09:00
parent 051c147b41
commit 590506e306
3 changed files with 39 additions and 2 deletions

View File

@ -22,7 +22,6 @@ var helper = require("node-red-node-test-helper");
describe('inject node', function() {
before(function(done) {
helper.startServer(done);
Context.init({
contextStorage: {
memory: {
@ -31,6 +30,7 @@ describe('inject node', function() {
}
});
Context.load();
helper.startServer(done);
});
after(function(done) {

View File

@ -18,16 +18,27 @@ 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) {
Context.init({
contextStorage: {
memory: {
module: "memory"
}
}
});
Context.load();
helper.startServer(done);
});
afterEach(function(done) {
helper.unload().then(function() {
Context.clean({allNodes: {}});
Context.close();
helper.stopServer(done);
});
});
@ -312,7 +323,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) {

View File

@ -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: {
@ -33,6 +32,7 @@ describe('change Node', function() {
}
});
Context.load();
helper.startServer(done);
});
afterEach(function(done) {