2
0
mirror of https://github.com/tenrok/axios.git synced 2026-05-27 14:47:43 +03:00
Files
axios/test/specs/helpers/settle.spec.js
T
Nick Uraltsev fa9444e0ba Allow custom HTTP status code error ranges (#308)
Adding support for custom HTTP status code error ranges
2016-04-26 14:18:58 -06:00

76 lines
1.9 KiB
JavaScript

var settle = require('../../../lib/helpers/settle');
describe('helpers::settle', function() {
var resolve;
var reject;
beforeEach(function() {
resolve = jasmine.createSpy('resolve');
reject = jasmine.createSpy('reject');
});
it('should resolve promise if status is not set', function() {
var response = {
config: {
validateStatus: function() {
return true;
}
}
};
settle(resolve, reject, response);
expect(resolve).toHaveBeenCalledWith(response);
expect(reject).not.toHaveBeenCalled();
});
it('should resolve promise if validateStatus is not set', function() {
var response = {
status: 500,
config: {
}
};
settle(resolve, reject, response);
expect(resolve).toHaveBeenCalledWith(response);
expect(reject).not.toHaveBeenCalled();
});
it('should resolve promise if validateStatus returns true', function() {
var response = {
status: 500,
config: {
validateStatus: function() {
return true;
}
}
};
settle(resolve, reject, response);
expect(resolve).toHaveBeenCalledWith(response);
expect(reject).not.toHaveBeenCalled();
});
it('should reject promise if validateStatus returns false', function() {
var response = {
status: 500,
config: {
validateStatus: function() {
return false;
}
}
};
settle(resolve, reject, response);
expect(resolve).not.toHaveBeenCalled();
expect(reject).toHaveBeenCalledWith(response);
});
it('should pass status to validateStatus', function() {
var validateStatus = jasmine.createSpy('validateStatus');
var response = {
status: 500,
config: {
validateStatus: validateStatus
}
};
settle(resolve, reject, response);
expect(validateStatus).toHaveBeenCalledWith(500);
});
});