mirror of
https://github.com/axios/axios.git
synced 2026-04-11 02:11:50 +08:00
* chore: small fixes to tests * feat: transitional move to vitests * feat: moving unit tests in progress * feat: moving more unit tests over * feat: more tests moved * feat: updated more sections of the http test * chore: wip http tests * chore: wip http tests * chore: more http tests * chore: tests * chore: tests * chore: tests * chore: tests * chore: tests * chore: tests * chore: tests * chore: tests * chore: tests * chore: tests * chore: tests * chore: tests * chore: tests * chore: tests * chore: tests * chore: tests * chore: tests * chore: tests * chore: tests * chore: tests * chore: tests * chore: tests * chore: tests * chore: tests * chore: tests * chore: remove un-needed docs * chore: update package lock * chore: update lock
46 lines
1.1 KiB
JavaScript
46 lines
1.1 KiB
JavaScript
/* eslint-env mocha */
|
|
/* global jasmine */
|
|
import _axios from '../../index.js';
|
|
|
|
window.axios = _axios;
|
|
|
|
// Jasmine config
|
|
jasmine.DEFAULT_TIMEOUT_INTERVAL = 60000;
|
|
jasmine.getEnv().defaultTimeoutInterval = 60000;
|
|
|
|
window.TEST_SERVER_URL = 'http://localhost:3000';
|
|
|
|
// Get Ajax request using an increasing timeout to retry
|
|
window.getAjaxRequest = (function () {
|
|
let attempts = 0;
|
|
const MAX_ATTEMPTS = 5;
|
|
const ATTEMPT_DELAY_FACTOR = 5;
|
|
|
|
function getAjaxRequest() {
|
|
return new Promise(function (resolve, reject) {
|
|
attempts = 0;
|
|
attemptGettingAjaxRequest(resolve, reject);
|
|
});
|
|
}
|
|
|
|
function attemptGettingAjaxRequest(resolve, reject) {
|
|
const delay = attempts * attempts * ATTEMPT_DELAY_FACTOR;
|
|
|
|
if (attempts++ > MAX_ATTEMPTS) {
|
|
reject(new Error('No request was found'));
|
|
return;
|
|
}
|
|
|
|
setTimeout(function () {
|
|
const request = jasmine.Ajax.requests.mostRecent();
|
|
if (request) {
|
|
resolve(request);
|
|
} else {
|
|
attemptGettingAjaxRequest(resolve, reject);
|
|
}
|
|
}, delay);
|
|
}
|
|
|
|
return getAjaxRequest;
|
|
})();
|