mirror of
https://github.com/tenrok/axios.git
synced 2026-05-15 11:59:42 +03:00
44 lines
1.0 KiB
JavaScript
44 lines
1.0 KiB
JavaScript
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;
|
|
})();
|