Перед обновлением до Ember CLI 1.13.1 все компоненты генерировали модульный тест, если мой компонент полагался на свойство, я мог написать что-то вроде:
var supplier = var supplier = Ember.ObjectProxy.create({
...
});
// Creates the component instance
var component = this.subject();
assert.equal(component._state, 'preRender');
component.set('supplier', supplier);
// Renders the component to the page
this.render();
assert.equal(component._state, 'inDOM');
И это пройдет/рендерит все в порядке.
Сейчас я пишу интеграционный тест для этого так:
var self = this;
Ember.run(function() {
self.set('supplier', supplier);
});
this.render(hbs`{{widgets/add-update-order-item}}`);
Проблема, с которой я столкнулся, заключается в ошибках рендеринга с Cannot read property 'forEach' of undefined
, часть шаблона имеет {{each}}
по сравнению с supplier.prices. Если я добавлю {{поставщик журналов}} в шаблон непосредственно перед {{каждым}}, я увижу undefined
. Итак, я предполагаю, что набор не произошел до вызова рендеринга? Что мне нужно сделать, чтобы это заработало, мне не нужны обратные вызовы или ожидания в форме модульного теста, не так ли?