open-consul/ui-v2/tests/helpers/module-for-acceptance.js
John Cowen 58b73d9966 ui: Increases the pause between blocking queries to 2000ms (#5582)
...also:

Temporarily overwrites native setTimeout and setInterval for e2e/acceptance
testing similar to how XHR is overwritten for e2e/acceptance testing.

This makes the blocking query acceptance tests run faster until we add a
better burstable rate limiter for blocking queries.
2019-05-01 18:22:26 +00:00

36 lines
1.1 KiB
JavaScript

import { module } from 'qunit';
import { resolve } from 'rsvp';
import startApp from '../helpers/start-app';
import destroyApp from '../helpers/destroy-app';
export default function(name, options = {}) {
let setTimeout = window.setTimeout;
let setInterval = window.setInterval;
module(name, {
beforeEach() {
const speedup = function(func) {
return function(cb, interval = 0) {
if (interval > 10) {
interval = Math.max(Math.round(interval / 10), 10);
}
return func(cb, interval);
};
};
window.setTimeout = speedup(window.setTimeout);
window.setInterval = speedup(window.setInterval);
this.application = startApp();
if (options.beforeEach) {
return options.beforeEach.apply(this, arguments);
}
},
afterEach() {
window.setTimeout = setTimeout;
window.setInterval = setInterval;
let afterEach = options.afterEach && options.afterEach.apply(this, arguments);
return resolve(afterEach).then(() => destroyApp(this.application));
},
});
}