test('it can build a child engine instance with no dependencies', function(assert) { assert.expect(2); let BlogEngine = Engine.extend({ router: null }); app.register('engine:blog', BlogEngine); let appInstance = app.buildInstance(); appInstance.setupRegistry(); let blogEngineInstance = appInstance.buildChildEngineInstance('blog'); assert.ok(blogEngineInstance); assert.strictEqual(getEngineParent(blogEngineInstance), appInstance, 'parent is assigned'); return blogEngineInstance.boot(); });
test('it can build a child engine instance with dependencies', function(assert) { assert.expect(3); let storeService = {}; app.register('service:store', storeService, { instantiate: false }); let BlogEngine = Engine.extend({ router: null, dependencies: { services: [ 'store' ] } }); app.engines = { blog: { dependencies: { services: [ 'store' ] } } }; app.register('engine:blog', BlogEngine); let appInstance = app.buildInstance(); appInstance.setupRegistry(); let blogEngineInstance = appInstance.buildChildEngineInstance('blog'); assert.ok(blogEngineInstance); assert.strictEqual(getEngineParent(blogEngineInstance), appInstance, 'parent is assigned'); return blogEngineInstance.boot().then(() => { assert.strictEqual( blogEngineInstance.lookup('service:store'), appInstance.lookup('service:store'), 'services are identical' ); }); });
import Engine from 'ember-engines/engine'; import Resolver from 'ember-engines/resolver'; import loadInitializers from 'ember-load-initializers'; const modulePrefix = 'ember-handoff'; const Eng = Engine.extend({ modulePrefix, Resolver, dependencies: { services: [ 'handoff' ] } }); loadInitializers(Eng, modulePrefix); export default Eng;
import Engine from 'ember-engines/engine'; import Resolver from 'ember-engines/resolver'; import loadInitializers from 'ember-load-initializers'; let Eng; const modulePrefix = 'ember-blog'; Eng = Engine.extend({ modulePrefix, Resolver, dependencies: { services: [ 'data-store' ], externalRoutes: [ 'home' ] } }); loadInitializers(Eng, modulePrefix); export default Eng;
import Engine from 'ember-engines/engine'; import Resolver from 'ember-engines/resolver'; import loadInitializers from 'ember-load-initializers'; const modulePrefix = 'ember-engine-addon-demo'; const Eng = Engine.extend({ modulePrefix, Resolver }); loadInitializers(Eng, modulePrefix); export default Eng;
const { modulePrefix } = config; const Eng = Engine.extend({ modulePrefix, Resolver, dependencies: { services: [ 'app', 'clusterStore', 'globalStore', 'resource-actions', 'intl', 'modal', 'router', 'scope', 'store', 'tooltip', ], externalRoutes: [ 'authenticated.project.alert.edit', 'authenticated.cluster.alert.edit', 'authenticated.project.alert.index', 'authenticated.cluster.alert.index', 'authenticated.project.alert.new', 'authenticated.cluster.alert.new', 'notifier', ] } }); loadInitializers(Eng, modulePrefix);
import Engine from 'ember-engines/engine'; import Resolver from 'ember-engines/resolver'; export default Engine.extend({ modulePrefix: 'magazine-engine', Resolver, dependencies: { services: [ 'blog-data', 'session' ] } });