@pgengler/ember-cli-mirage
Version:
A client-side server to help you build, test and demo your Ember app
35 lines (30 loc) • 965 B
JavaScript
import startMirage from '@pgengler/ember-cli-mirage/start-mirage';
import { settled } from '@ember/test-helpers';
/**
Used to set up mirage for a test. Must be called after one of the
`ember-qunit` `setup*Test()` methods. It starts the server and sets
`this.server` to point to it, and shuts the server down when the test
finishes.
NOTE: the `hooks = self` is for mocha support
@hide
*/
export default function setupMirage(hooks = self, options) {
hooks.beforeEach(function () {
if (!this.owner) {
throw new Error(
'You must call one of the ember-qunit setupTest(),' +
' setupRenderingTest() or setupApplicationTest() methods before' +
' calling setupMirage()'
);
}
this.server = startMirage(this.owner, options);
});
hooks.afterEach(function () {
return settled().then(() => {
if (this.server) {
this.server.shutdown();
delete this.server;
}
});
});
}