diff --git a/tests/helpers/setup-msw.js b/tests/helpers/setup-msw.js index 364a36de7ef..ea0211b8e87 100644 --- a/tests/helpers/setup-msw.js +++ b/tests/helpers/setup-msw.js @@ -6,22 +6,24 @@ import { setupWorker } from 'msw/browser'; import { setupFakeTimers } from './fake-timers'; +const worker = setupWorker( + ...handlers, + http.get('/assets/*', passthrough), + http.all(/.*\/percy\/.*/, passthrough), + http.get('https://:avatars.githubusercontent.com/u/:id', passthrough), +); + +export function registerQUnitCallbacks(QUnit) { + QUnit.begin(() => worker.start({ quiet: true, onUnhandledRequest: 'error' })); + QUnit.testDone(() => worker.resetHandlers()); + QUnit.testDone(() => db.reset()); + QUnit.done(() => worker.stop()); +} + export default function (hooks) { setupWindowMock(hooks); setupFakeTimers(hooks, '2017-11-20T12:00:00'); - let worker = setupWorker( - ...handlers, - http.get('/assets/*', passthrough), - http.all(/.*\/percy\/.*/, passthrough), - http.get('https://:avatars.githubusercontent.com/u/:id', passthrough), - ); - - hooks.before(() => worker.start({ quiet: true, onUnhandledRequest: 'error' })); - hooks.afterEach(() => worker.resetHandlers()); - hooks.afterEach(() => db.reset()); - hooks.after(() => worker.stop()); - hooks.beforeEach(function () { this.worker = worker; this.db = db; diff --git a/tests/test-helper.js b/tests/test-helper.js index 455b56dc72d..14c46c66cb2 100644 --- a/tests/test-helper.js +++ b/tests/test-helper.js @@ -8,9 +8,11 @@ import { setup } from 'qunit-dom'; import Application from '../app'; import config from '../config/environment'; import registerMatchJsonAssertion from './helpers/match-json'; +import { registerQUnitCallbacks } from './helpers/setup-msw'; setup(QUnit.assert); registerMatchJsonAssertion(QUnit.assert); +registerQUnitCallbacks(QUnit); setApplication(Application.create(config.APP));