diff --git a/README.md b/README.md index 0b3120c..ef81bf8 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # hubot-encourage +[![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Dependency Status][daviddm-image]][daviddm-url] [![Coverage Status][coveralls-image]][coveralls-url] > Robot is very encouraging @@ -12,7 +13,7 @@ Then add **hubot-encourage** to your `external-scripts.json`: ```json [ - "hubot-taboo-topics" + "hubot-encourage" ] ``` @@ -35,6 +36,12 @@ To test this script interactively, run: npm start ``` +To run automated tests: + +``` +npm test +``` + [npm-image]: https://badge.fury.io/js/hubot-encourage.svg [npm-url]: https://npmjs.org/package/hubot-encourage [travis-image]: https://travis-ci.org/HaroldPutman/hubot-encourage.svg?branch=master @@ -42,4 +49,4 @@ npm start [daviddm-image]: https://david-dm.org/HaroldPutman/hubot-encourage.svg?theme=shields.io [daviddm-url]: https://david-dm.org/HaroldPutman/hubot-encourage [coveralls-image]: https://coveralls.io/repos/github/HaroldPutman/hubot-encourage/badge.svg?branch=master -[coveralls-url]:https://coveralls.io/github//hubot-encourage?branch=master +[coveralls-url]:https://coveralls.io/github/HaroldPutman/hubot-encourage?branch=master diff --git a/src/index.js b/src/index.js index 5f02722..c6201e8 100644 --- a/src/index.js +++ b/src/index.js @@ -46,7 +46,8 @@ module.exports = (robot) => { robot.respond(/encourage @?(?:(me|us|everyone|all|(?:the )?team)|(.+))/i, msg => { let name = msg.match[2]; if (msg.match[1] === "me") { - name = (Math.random() > 0.5) ? msg.message.user.name : "you"; + let mi = [msg.message.user.name, "you"]; // mi, a name I call myself + name = msg.random(mi); } if (typeof name !== "undefined") { msg.send(capitalize(msg.random(data.remarks).replace("%", name))); diff --git a/test/index.js b/test/index.js index 4a97de8..56dbc5f 100644 --- a/test/index.js +++ b/test/index.js @@ -17,7 +17,7 @@ NewMockResponse = (function(superClass) { } NewMockResponse.prototype.random = function(items) { - return "% is good at like, 10 times more things than I am."; + return items[0]; }; return NewMockResponse; @@ -37,7 +37,35 @@ describe('hubot', () => { room.user.say('alice', 'hubot encourage bill').then(() => { expect(room.messages).to.eql([ ['alice', 'hubot encourage bill'], - ['hubot', 'Bill is good at like, 10 times more things than I am.'] + ['hubot', 'Great job, bill!'] + ]); + + done(); + + }); + + }); + + it('should respond when asked to encourage everyone', (done) => { + + room.user.say('kumar', 'hubot encourage us').then(() => { + expect(room.messages).to.eql([ + ['kumar', 'hubot encourage us'], + ['hubot', 'Great job today, everyone!'] + ]); + + done(); + + }); + + }); + + it('should encourage me when asked', (done) => { + + room.user.say('bob', 'hubot encourage me').then(() => { + expect(room.messages).to.eql([ + ['bob', 'hubot encourage me'], + ['hubot', 'Great job, bob!'] ]); done();