mirror of
https://github.com/tenrok/axios.git
synced 2026-06-17 19:21:29 +03:00
ef3711d1b3
* feat: implement prettier and fix all issues * fix: failing tests * fix: implement feedback from codel, ai etc * chore: dont throw in trim function Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com> * fix: incorrect fix --------- Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
97 lines
2.3 KiB
JavaScript
97 lines
2.3 KiB
JavaScript
describe('adapter', function () {
|
|
beforeEach(function () {
|
|
jasmine.Ajax.install();
|
|
});
|
|
|
|
afterEach(function () {
|
|
jasmine.Ajax.uninstall();
|
|
});
|
|
|
|
it('should support custom adapter', function (done) {
|
|
axios('/foo', {
|
|
adapter: function barAdapter(config) {
|
|
return new Promise(function dispatchXhrRequest(resolve) {
|
|
const request = new XMLHttpRequest();
|
|
request.open('GET', '/bar');
|
|
|
|
request.onreadystatechange = function () {
|
|
resolve({
|
|
config: config,
|
|
request: request,
|
|
});
|
|
};
|
|
|
|
request.send(null);
|
|
});
|
|
},
|
|
}).catch(done);
|
|
|
|
getAjaxRequest().then(function (request) {
|
|
expect(request.url).toBe('/bar');
|
|
done();
|
|
});
|
|
});
|
|
|
|
it('should execute adapter code synchronously', function (done) {
|
|
let asyncFlag = false;
|
|
axios('/foo', {
|
|
adapter: function barAdapter(config) {
|
|
return new Promise(function dispatchXhrRequest(resolve) {
|
|
const request = new XMLHttpRequest();
|
|
request.open('GET', '/bar');
|
|
|
|
request.onreadystatechange = function () {
|
|
resolve({
|
|
config: config,
|
|
request: request,
|
|
});
|
|
};
|
|
|
|
expect(asyncFlag).toBe(false);
|
|
request.send(null);
|
|
});
|
|
},
|
|
}).catch(done);
|
|
|
|
asyncFlag = true;
|
|
|
|
getAjaxRequest().then(function () {
|
|
done();
|
|
});
|
|
});
|
|
|
|
it('should execute adapter code asynchronously when interceptor is present', function (done) {
|
|
let asyncFlag = false;
|
|
|
|
axios.interceptors.request.use(function (config) {
|
|
config.headers.async = 'async it!';
|
|
return config;
|
|
});
|
|
|
|
axios('/foo', {
|
|
adapter: function barAdapter(config) {
|
|
return new Promise(function dispatchXhrRequest(resolve) {
|
|
const request = new XMLHttpRequest();
|
|
request.open('GET', '/bar');
|
|
|
|
request.onreadystatechange = function () {
|
|
resolve({
|
|
config: config,
|
|
request: request,
|
|
});
|
|
};
|
|
|
|
expect(asyncFlag).toBe(true);
|
|
request.send(null);
|
|
});
|
|
},
|
|
}).catch(done);
|
|
|
|
asyncFlag = true;
|
|
|
|
getAjaxRequest().then(function () {
|
|
done();
|
|
});
|
|
});
|
|
});
|