Я прочитал и следил за EmberJS Service Injection для модульных тестов (Ember QUnit) но я до сих пор не могу понять, в чем проблема.
Я хотел бы проверить, работает ли моя аутентификация должным образом. Я написал аутентификатор для ember-simple-auth, и сеанс вводится в маршрут. Сам код работает без проблем.
export default Ember.Route.extend({
authManager: Ember.inject.service('session'),
...
(in actions):
this.get('authManager').invalidate()
Теперь я хочу создать тест, который проверит, работает ли моя аутентификация так, как я ожидаю. Поэтому я хочу использовать authManager напрямую.
moduleFor('route:index', 'Unit | Route | xyz', {
needs: ['service:session']
});
test('2', function(assert) {
let route = this.subject();
let s = route.get('authManager');
Когда я печатаю содержимое 's', я получаю ''. Если я изменю это на что-то другое, то ответ будет неопределенным, как и следовало ожидать. Проблема в том, что я хочу получить свойство isAuthenticated или запустить invalidate(). В этих случаях я получил «неопределенный». Что я делаю не так?