#ember.js
#ember.js
Вопрос:
Я использовал цикл each для создания уникального идентификатора для каждого созданного ввода. Например: id='amount0'
, id='amount1'
, и т. Д. Но я не могу настроить их во время тестирования, в нем говорится, что элемент не найден.
Ошибка
Promise rejected during "Amount input works": Element not found when calling `fillIn('#amount0')`.
Файл HBS:
{{#each userInfo as |user index|}}
<p output-test-info>
<button onclick={{action clearEverything index}}>-</button>
{{user.name}}
<input id="amount{{index}}" onchange={{action (action addAmount index) value="target.value"}}>
</p>
{{/each}}
Тестовый файл:
test('Amount input works', async function(assert){
const itemList = document.queryCommandValue('output-test-info');
this.set('tempName', [{name: 'bobby'}, {name: 'peter'}]);
this.set('tempAct', [{activity: 'dinner'}, {activity: 'movies'}])
await render(hbs`<Output @userinfo={{this.tempArray}} @userAct={{this.tempAct}}/>`);
await fillIn('#amount0', '20');
})
Комментарии:
1. для отладки было бы полезно воспроизведение twiddle .
Ответ №1:
Ошибка, по-видимому, здесь @userinfo={{this.tempArray}}
. У вас нет этой переменной, у вас есть только tempName
and tempAct
. Скорее tempName
всего, там имелось в виду.
Комментарии:
1. О, хороший улов, но проблема была не в этом:/ похоже, что в tho ничего не передается