Как вставить магазин в Ember.Service в модульные тесты?

В моем приложении у меня есть этот инициализатор, который вводит хранилище во все службы:

export function initialize(container, application) {
  application.inject('service', 'store', 'store:main');
}

export default {
  name: 'inject-store-in-services',
  initialize: initialize
};

Моя проблема заключается в том, что при выполнении модульных тестов службы не имеют свойства store. Итак, мой вопрос: есть ли способ достичь того, что делает мой инициализатор, но внутри контекста unit test?

Ответ 1

В последних версиях Ember вы можете ввести хранилище в качестве сервиса, например:

Ember.Service.extend({
  store: Ember.inject.service()
});

Он получает имя службы из имени свойства, поэтому, если вы называете это чем-то другим, вам нужно указать "store"... например:

Ember.Service.extend({
  banana: Ember.inject.service('store')
});