Я работаю над компонентом Ember с функцией init, для которой я хотел бы добавить модульный тест. Компонент имеет следующие свойства:
1) Функция init не должна запускаться более одного раза, и
2) Компонент зависит от передачи ему модели (currentUser).
До сих пор я пытался написать такой тест:
test('#init', function(assert) {
const component = this.owner.lookup('component:component-that-depends-on-property');
const currentUser = make('user');
component.set('currentUser', user);
component.init();
assert.ok(component.somethingHasHappened);
});
Моя проблема в том, что метод init запускается в строке owner.lookup, что означает, что у меня нет способа получить currentUser вкомпонент до его запуска. Опять же, я не могу запустить метод init более одного раза, не взорвав состояние компонента.
Я заметил, что метод поиска принимает аргумент options
, и подумал, что смогу использовать его для передачи currentUser,но, похоже, это не сработало, и я не смог найти много документации по методу поиска.
Я бы хотел, по возможности, избежать написания интеграционного теста для этого. Есть ли хороший способ сделать это / обходной путь, которого я не вижу?