UNPKG

1.01 kBJavaScriptView Raw
1/* global require */
2import EmberResolver from 'ember-resolver';
3
4/**
5 * Gets the resolver class used by an Engine and creates an instance to be used
6 * with test modules. Ex:
7 *
8 * moduleForComponent('some-component', 'Integration Test', {
9 * resolver: engineResolverFor('ember-blog')
10 * });
11 *
12 * Uses the module found at `<engine-name>/resolver` as the class. If no module
13 * exists at that path, then a default EmberResolver instance is created.
14 *
15 * You can optionally specify a modulePrefix in the event that the modulePrefix
16 * differs from the engineName.
17 *
18 * @method engineResolverFor
19 * @param {String} engineName
20 * @param {String} [modulePrefix]
21 * @return {Resolver}
22 */
23export default function engineResolverFor(
24 engineName,
25 modulePrefix = engineName
26) {
27 let Resolver;
28
29 if (require.has(`${engineName}/resolver`)) {
30 Resolver = require(`${engineName}/resolver`).default;
31 } else {
32 Resolver = EmberResolver;
33 }
34 return Resolver.create({ namespace: { modulePrefix } });
35}