UNPKG

3.29 kBJavaScriptView Raw
1var assert = require ('assert');
2
3var options = {
4 api_key : '',
5 request : {
6 post : function (options, callback) {
7 callback(null, null);
8 }
9 }
10};
11
12describe('Hipchat', function(){
13
14 describe('auth', function(){
15
16 it ('should throw error if no token provided', function (done){
17 assert.throws(function(){
18 var hipchat = require ('../lib/hipchat').create(options);
19 });
20 done();
21 });
22
23 it ('should not throw error if token provided', function (done){
24 options.api_key = 'bP9qjpnsfVPLadW2gKR3vF4t62LI4z3Dfkc0e7LmNCebxBUjKH'; //this is an example. not a valid key
25 var hipchat = require ('../lib/hipchat').create(options);
26 done();
27 });
28
29 });
30
31 describe('message', function(){
32
33 var roomId = 33333;
34 var from = 'night crawler';
35 var message = 'this is just text';
36 var notify = 1;
37
38 it ('should push message with successful callback', function (done){
39 options.request.post = function (options, callback) { //mock request post
40 callback(null, {statusCode:200}, '');
41 };
42
43 var hipchat = require ('../lib/hipchat').create(options);
44 hipchat.message (roomId, from, message, notify, function (err, response_status){
45 assert.ok (!err);
46 assert.equal (response_status, 200);
47 done();
48 });
49 });
50
51 it ('should handle known bad request errors', function (done){
52 options.request.post = function (options, callback) { //mock request post
53 callback('error', {statusCode:400}, '');
54 };
55
56 var hipchat = require ('../lib/hipchat').create(options);
57 hipchat.message (roomId, from, message, notify, function (err, response_status){
58 assert.ok (err);
59 assert.equal (response_status, 400);
60 done();
61 });
62 });
63
64 it ('should handle unknown bad request errors', function (done){
65 options.request.post = function (options, callback) { //mock request post
66 callback('error', {statusCode: 510}, '');
67 };
68
69 var hipchat = require ('../lib/hipchat').create(options);
70 hipchat.message (roomId, from, message, notify, function (err, response_status){
71 assert.ok (err);
72 assert.equal (response_status, 510);
73 done();
74 });
75 });
76
77 it ('should handle bad request errors with no statusCode', function (done){
78 options.request.post = function (options, callback) { //mock request post
79 callback('error', {}, '');
80 };
81
82 var hipchat = require ('../lib/hipchat').create(options);
83 hipchat.message (roomId, from, message, notify, function (err, response_status){
84 assert.ok (err);
85 assert.equal (response_status, null);
86 done();
87 });
88 });
89
90 it ('should handle bad request errors with null response', function (done){
91 options.request.post = function (options, callback) { //mock request post
92 callback('error', null, '');
93 };
94
95 var hipchat = require ('../lib/hipchat').create(options);
96 hipchat.message (roomId, from, message, notify, function (err, response_status){
97 assert.ok (err);
98 assert.equal (response_status, null);
99 done();
100 });
101 });
102
103 });
104});
\No newline at end of file