2015-08-27 03:51:56 +08:00
|
|
|
import AppEvents from 'discourse/lib/app-events';
|
2015-07-15 01:56:59 +08:00
|
|
|
import createStore from 'helpers/create-store';
|
2015-09-29 02:01:16 +08:00
|
|
|
import { loadAllHelpers } from 'discourse/initializers/load-all-helpers';
|
2015-07-15 01:56:59 +08:00
|
|
|
|
|
|
|
export default function(name, opts) {
|
|
|
|
opts = opts || {};
|
|
|
|
|
|
|
|
test(name, function(assert) {
|
|
|
|
if (opts.setup) {
|
|
|
|
const store = createStore();
|
|
|
|
opts.setup.call(this, store);
|
|
|
|
}
|
2015-08-27 03:51:56 +08:00
|
|
|
const appEvents = AppEvents.create();
|
|
|
|
|
2015-09-29 02:01:16 +08:00
|
|
|
loadAllHelpers();
|
|
|
|
|
2015-07-15 01:56:59 +08:00
|
|
|
this.container.register('site-settings:main', Discourse.SiteSettings, { instantiate: false });
|
2015-08-27 03:51:56 +08:00
|
|
|
this.container.register('app-events:main', appEvents, { instantiate: false });
|
2015-09-03 04:17:46 +08:00
|
|
|
this.container.register('capabilities:main', Ember.Object);
|
2015-07-15 01:56:59 +08:00
|
|
|
this.container.injection('component', 'siteSettings', 'site-settings:main');
|
2015-08-27 03:51:56 +08:00
|
|
|
this.container.injection('component', 'appEvents', 'app-events:main');
|
2015-09-03 04:17:46 +08:00
|
|
|
this.container.injection('component', 'capabilities', 'capabilities:main');
|
2015-07-15 01:56:59 +08:00
|
|
|
|
2015-09-29 02:01:16 +08:00
|
|
|
andThen(() => this.render(opts.template));
|
|
|
|
andThen(() => opts.test.call(this, assert));
|
2015-07-15 01:56:59 +08:00
|
|
|
});
|
|
|
|
}
|