From ab399f4e096e067192a1332761b120c03924a091 Mon Sep 17 00:00:00 2001 From: hbeeken Date: Thu, 27 Nov 2014 14:18:28 +0000 Subject: [PATCH] Simple pinboard tests and minor fix --- pinboard/pinboard.js | 1 + test/pinboard/pinboard_spec.js | 53 +++++++++++++++++++++++++++++----- 2 files changed, 46 insertions(+), 8 deletions(-) diff --git a/pinboard/pinboard.js b/pinboard/pinboard.js index 6353f7df..9abea373 100644 --- a/pinboard/pinboard.js +++ b/pinboard/pinboard.js @@ -44,6 +44,7 @@ module.exports = function(RED) { } if (!msg.title) { node.warn("msg.title must be provided"); + return; } var options = { hostname: "api.pinboard.in", diff --git a/test/pinboard/pinboard_spec.js b/test/pinboard/pinboard_spec.js index 49d5fc5d..d38aa615 100644 --- a/test/pinboard/pinboard_spec.js +++ b/test/pinboard/pinboard_spec.js @@ -29,13 +29,50 @@ describe('pinboard nodes', function() { }); describe('out node', function() { - it('can be loaded', function(done) { - helper.load(pinboardNode, - [{id:"pinboard", type:"pinboard out"}], function() { - var pinboard = helper.getNode("pinboard"); - pinboard.should.have.property('id', 'pinboard'); - done(); - }); - }); + it(' logs a warning if msg.payload is not set', function(done) { + helper.load(pinboardNode, + [ {id:"inject", type:"helper", wires:[["pinboard"]]}, + {id:"del-user", type:"pinboard-user", username:"Bob Jones"}, + {id:"pinboard", type:"pinboard out", user:"del-user", private:true, tags:"testtag"}], + { + "del-user": { + password:"abcd1234" + }, + }, + function() { + var inject = helper.getNode("inject"); + var pinboard = helper.getNode("pinboard"); + pinboard.should.have.property('id','pinboard'); + pinboard.on('log',function(obj) { + should.deepEqual({level:"warn", id:pinboard.id, + type:pinboard.type, msg:"url must be provided in msg.payload"}, obj); + done(); + }); + inject.send({title:"test",description:"testdesc"}); + }); + }) + + it(' logs a warning if msg.title is not set', function(done) { + helper.load(pinboardNode, + [ {id:"inject", type:"helper", wires:[["pinboard"]]}, + {id:"del-user", type:"pinboard-user", username:"Bob Jones"}, + {id:"pinboard", type:"pinboard out", user:"del-user", private:true, tags:"testtag"}], + { + "del-user": { + password:"abcd1234" + }, + }, + function() { + var inject = helper.getNode("inject"); + var pinboard = helper.getNode("pinboard"); + pinboard.should.have.property('id','pinboard'); + pinboard.on('log',function(obj) { + should.deepEqual({level:"warn", id:pinboard.id, + type:pinboard.type, msg:"msg.title must be provided"}, obj); + done(); + }); + inject.send({payload:"foobar",description:"testdesc"}); + }); + }) }); });