Интеграция Ember_simple_auth с приемочными тестами (используя Mirage)

Я создал базовое тестовое приложение, использующее OMDb API (открытая база данных фильмов) и небольшая помощь от плакатов SO все работает нормально.

Я добавил в проект ember-simple-auth (версия 1.0.0) и запустил разработку. По сути, есть простой экран входа в главное приложение. Это работает, как и ожидалось.

Однако два моих основных приемочных теста теперь не работают. После добавления в приложение компонентов и функций ember-simple-auth в файл приемочного теста я добавил:

import { currentSession, authenticateSession, invalidateSession } from 'movie-example/tests/helpers/ember-simple-auth';

и в самом тесте я добавил:

authenticateSession();

Тест теперь терпит неудачу, говоря:

Cannot read property '__container__' of undefined

Более того, если я закомментирую строку импорта и вызов authenticationSession(), тест все равно не пройдет, но потому, что DOM, по-видимому, совершенно пуст.

Все это доступно в репозитории, если кому-то интересно/готово: [email protected]:bdrsgg/ember-movie-example.git (branch = feature/ember-simple-auth)

Я предполагаю, что есть какая-то проблема с конфигурацией, которую я неправильно понимаю, или что-то в этом роде. Цените любую помощь, которую кто-либо может предложить.

ОТРЕДАКТИРОВАНО ДОБАВИТЬ:

Проблема определенно связана с аутентификацией. Например, если я удалю вызовы AuthenticatedRouteMixin из маршрутов и оставлю вызовы authenticationSession(), тесты пройдут.


person A B    schedule 03.03.2016    source источник


Ответы (1)


Оказалось, что я просто неправильно объявлял более раннюю переменную приложения. Короче говоря, когда я изменил authenticationSession() на authenticationSession(this.application), все заработало, как и ожидалось.

person A B    schedule 04.03.2016