Тестирование EmberJS: целевой идентификатор, созданный из каждого цикла

#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 ничего не передается