open-consul/ui/packages/consul-ui/tests/helpers/module-for-acceptance.js
John Cowen c98130cc08
ui: Move to Workspaced Structure (#8994)
* ui: Add the most basic workspace root in /ui

* We already have a LICENSE file in the repository root

* Change directory path in build scripts ui-v2 -> ui

* Make yarn install flags configurable from elsewhere

* Minimal workspace root makefile

* Call the new docker specific target

* Update yarn in the docker build image

* Reconfigure the netlify target and move to the higher makefile

* Move ui-v2 -> ui/packages/consul-ui

* Change repo root to refleect new folder structure

* Temporarily don't hoist consul-api-double

* Fixup CI configuration

* Fixup lint errors

* Fixup Netlify target
2020-10-21 15:23:16 +01: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));
},
});
}