diff --git a/package.json b/package.json index 595c179..84be077 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "jscs": "^2.8.0", "jshint": "^2.9.1-rc2", "nock": "^5.2.1", + "rewire": "^2.5.1", "tap-spec": "^4.1.1", "tape": "^4.4.0" } diff --git a/test.js b/test.js index 1b70851..de33265 100644 --- a/test.js +++ b/test.js @@ -1,7 +1,8 @@ var nock = require('nock'); +var rewire = require('rewire'); var test = require('tape'); -var fetchGists = require('./index'); +var fetchGists = rewire('./index'); var accessToken = 'TEST123'; @@ -94,6 +95,26 @@ test('error occurs when response code is not 200, 401 or 403', function (t) { }) }); +test('error occurs when request fails', function (t) { + nock.cleanAll(); + + t.plan(1); + + mockGetGistsApiCall(1, [], true, 200) + + var responseError = 'foo' + + var revert = fetchGists.__set__('request', function (opts, cb) { + cb(responseError); + }); + + fetchGists(accessToken).catch(function (error) { + t.equal(responseError, error, 'error occured during request'); + }); + + revert(); +}); + function mockGetGistsApiCall (page, body, isLastPage, statusCode) { var statusCode = statusCode || 200; var respHeaders = {};