Skip to content

Commit d174103

Browse files
kazuhitoyokoiHiroyasuNishiyama
authored andcommitted
Add test case for function node template (#68)
1 parent a485053 commit d174103

File tree

3 files changed

+64
-0
lines changed

3 files changed

+64
-0
lines changed

Gruntfile.js

+3
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ module.exports = function (grunt) {
4040
generateNode_sendReturnedMessage: {
4141
command: 'node bin/node-red-nodegen.js samples/send-returned-message.js -o ./nodegen'
4242
},
43+
generateNode_passThroughTopic: {
44+
command: 'node bin/node-red-nodegen.js samples/pass-through-topic.js -o ./nodegen'
45+
},
4346
generateNode_setNodeContext: {
4447
command: 'node bin/node-red-nodegen.js samples/set-node-context.js -o ./nodegen'
4548
},

samples/pass-through-topic.js

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
// name: pass through _topic
2+
// outputs: 1
3+
return msg;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
/**
2+
* Copyright JS Foundation and other contributors, http://js.foundation
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
**/
16+
17+
var should = require("should");
18+
var helper = require("node-red-node-test-helper");
19+
var functionNode = require("../../../nodegen/node-red-contrib-pass-through-topic");
20+
21+
describe('node-red-contrib-pass-through-topic', function () {
22+
23+
before(function (done) {
24+
helper.startServer(done);
25+
});
26+
27+
after(function (done) {
28+
helper.stopServer(done);
29+
});
30+
31+
afterEach(function () {
32+
helper.unload();
33+
});
34+
35+
it('should be loaded', function (done) {
36+
var flow = [{id: "n1", type: "pass-through-topic", name: "pass-through-topic" }];
37+
helper.load(functionNode, flow, function () {
38+
var n1 = helper.getNode('n1');
39+
n1.should.have.property('name', 'pass-through-topic');
40+
done();
41+
});
42+
});
43+
it('should pass through _topic', function (done) {
44+
var flow = [{id: "n1", type: "pass-through-topic", wires: [["n2"]]},
45+
{id: "n2", type: "helper"}];
46+
helper.load(functionNode, flow, function () {
47+
var n1 = helper.getNode("n1");
48+
var n2 = helper.getNode("n2");
49+
n2.on("input", function(msg) {
50+
msg.should.have.property('topic', 'bar');
51+
msg.should.have.property('payload', 'foo');
52+
msg.should.have.property('_topic', 'baz');
53+
done();
54+
});
55+
n1.receive({payload: "foo", topic: "bar", _topic: "baz"});
56+
});
57+
});
58+
});

0 commit comments

Comments
 (0)