function setupEngine(hooks, engineName) {
  hooks.beforeEach(async function () {
    if (this.engine !== undefined) {
      throw new Error(
        'You cannot use `setupEngine` twice for the same test setup. If you need to setup multiple engines, use `loadEngine` directly.',
      );
    }

    // setup `this.engine`
    this.engine = await loadEngine(engineName);
  });
}
Used to set up engine for use. Must be called after one of the `ember-qunit`
`setup*Test()` methods.

  Responsible for:
    - create an engine object and set it on the provided context (e.g. `this.engine`)

@method setupEngine
@param {NestedHooks} hooks
@param {String} engineName
@public