Skip to content

Commit db752fa

Browse files
committed
Refactored code and added tests
1 parent 374e291 commit db752fa

File tree

3 files changed

+30
-2
lines changed

3 files changed

+30
-2
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/**
2+
* Checks if the options.simple is set to use default.
3+
*
4+
* @param options a request.options object
5+
* @return boolean true if options.simple is set to use default value
6+
*/
7+
function shouldRejectErrorResponse (options) {
8+
return (options.simple === undefined || options.simple === true);
9+
}
10+
11+
module.exports = shouldRejectErrorResponse;

index.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ var extend = require('extend');
1111
var when = require('when');
1212
var request = require('request');
1313
var RetryStrategies = require('./strategies');
14-
var isErrorResponse = require('./helpers/isErrorResponse')
14+
var isErrorResponse = require('./helpers/isErrorResponse');
15+
var shouldRejectErrorResponse = require('./helpers/shouldRejectErrorResponse');
1516
var _ = require('lodash');
1617
var { StatusCodeError } = require('request-promise-core/errors');
1718

@@ -111,7 +112,7 @@ function Request(url, options, f, retryConfig) {
111112
return this._reject(err);
112113
}
113114

114-
if ((options.simple === undefined || options.simple === true) && isErrorResponse(response)) {
115+
if (shouldRejectErrorResponse(options) && isErrorResponse(response)) {
115116
return this._reject(new StatusCodeError(response.statusCode, body, this.options, response));
116117
}
117118

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
'use strict'
2+
3+
const shouldRejectErrorResponse = require('../../helpers/shouldRejectErrorResponse');
4+
const expect = require('chai').expect;
5+
6+
describe('shouldRejectErrorResponse', function () {
7+
[{ simple: true }, {}].forEach(options => {
8+
it(`should return true for ${options.simple} simple`, function () {
9+
expect(shouldRejectErrorResponse({ options: options })).to.equal(true);
10+
});
11+
});
12+
13+
it('should return false for options.simple false', function () {
14+
expect(shouldRejectErrorResponse({ simple: false })).to.equal(false);
15+
});
16+
});

0 commit comments

Comments
 (0)