From c2efcc727c74c651bc089ff22099b7b612847b6f Mon Sep 17 00:00:00 2001 From: Hiroyuki Okada Date: Wed, 7 Aug 2019 18:04:05 +0900 Subject: [PATCH] add test script (#560) Thank you --- test/social/feedparse/32-feedparse_spec.js | 74 ++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 test/social/feedparse/32-feedparse_spec.js diff --git a/test/social/feedparse/32-feedparse_spec.js b/test/social/feedparse/32-feedparse_spec.js new file mode 100644 index 00000000..aae2328e --- /dev/null +++ b/test/social/feedparse/32-feedparse_spec.js @@ -0,0 +1,74 @@ +const should = require("should"); +const helper = require("node-red-node-test-helper"); + +const feedParserNode = require("../../../social/feedparser/32-feedparse"); + +describe("FeedParseNode", () => { + + beforeEach(function (done) { + helper.startServer(done); + }); + + afterEach(function (done) { + helper.unload(); + helper.stopServer(done); + }); + + it("should be loaded", (done) => { + const flow = [{id:"n1", type:"feedparse", interval: 15, url: "test", name: "feedparse" }]; + helper.load(feedParserNode, flow, () => { + const n1 = helper.getNode("n1"); + n1.should.have.property("name", "feedparse"); + done(); + }); + }); + + it("get feed", (done) => { + const flow = [ + {id:"n1", type:"feedparse", interval: 15, url: "https://discourse.nodered.org/posts.rss", name: "feedparse" , wires:[["n2"]] }, + { id: "n2", type: "helper" } + ]; + helper.load(feedParserNode, flow, () => { + const n2 = helper.getNode("n2"); + const n1 = helper.getNode("n1"); + let count = 0; + n2.on("input", (msg) => { + msg.topic.should.startWith("https://discourse.nodered.org/"); + if(count === 0){ + done(); + count++; + } + }); + }); + }); + + it("invalid interval", (done) => { + const flow = [ + {id:"n1", type:"feedparse", interval: 35791, url: "https://discourse.nodered.org/posts.rss", name: "feedparse" , wires:[["n2"]] }, + { id: "n2", type: "helper" } + ]; + helper.load(feedParserNode, flow, () => { + const n2 = helper.getNode("n2"); + const n1 = helper.getNode("n1"); + n1.on('call:warn', call => { + call.should.have.property("lastArg", "feedparse.errors.invalidinterval"); + done(); + }); + }); + }); + + it("bad host", (done) => { + const flow = [ + {id:"n1", type:"feedparse", interval: 15, url: "https://discourse.nodered.org/dummy.rss", name: "feedparse" , wires:[["n2"]] }, + { id: "n2", type: "helper" } + ]; + helper.load(feedParserNode, flow, () => { + const n2 = helper.getNode("n2"); + const n1 = helper.getNode("n1"); + n1.on('call:warn', call => { + call.lastArg.should.have.startWith("feedparse.errors.badstatuscode"); + done(); + }); + }); + }); +});