Skip to content

Commit dd8b660

Browse files
ammmzectimmerm
authored andcommitted
support for mocks when an interceptor retries a request (#119)
1 parent 2eb55cc commit dd8b660

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

src/handle_request.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ function handleRequest(mockAdapter, resolve, reject, config) {
1515
if (config.baseURL && config.url.substr(0, config.baseURL.length) === config.baseURL) {
1616
config.url = config.url.slice(config.baseURL ? config.baseURL.length : 0);
1717
}
18-
config.adapter = null;
18+
19+
delete config.adapter;
1920
mockAdapter.history[config.method].push(config);
2021

2122
var handler = utils.findHandler(

test/basics.spec.js

+14
Original file line numberDiff line numberDiff line change
@@ -701,4 +701,18 @@ describe('MockAdapter basics', function() {
701701
expect(mock.handlers['get'].length).to.equal(1);
702702
expect(mock.handlers['get'][0][3]).to.equal(200);
703703
});
704+
705+
it('supports a retry', function() {
706+
mock.onGet('/').replyOnce(401);
707+
mock.onGet('/').replyOnce(201);
708+
instance.interceptors.response.use(undefined, function(error) {
709+
if (error.response && error.response.status === 401) {
710+
return instance(error.config);
711+
}
712+
return Promise.reject(error);
713+
});
714+
return instance({ method: 'get', url: '/' }).then(function(response) {
715+
expect(response.status).to.equal(201);
716+
});
717+
});
704718
});

0 commit comments

Comments
 (0)