Эмбер-тесты: флажок

Я разрабатываю Ember-тесты и хочу проверить, правильно ли отображаются сообщения об ошибках. Для этого мне нужно отметить определенный флажок (или группы флажков) из списка. Есть ли способ указать, какие флажки нам нужны? Может быть, используя какой-то параметр, который мы можем передать, чтобы выбрать, что мы хотим выбрать? Спасибо


person CodeJr    schedule 18.05.2020    source источник
comment
Используйте селектор. Возможно, вам пригодятся ember-test-selectors.   -  person Lux    schedule 18.05.2020
comment
Вот что я использую: checkbox: clickable( '.checkbox:eq(0)'), Но мой список динамический, и я не хотел дублировать код и просто менять индекс...   -  person CodeJr    schedule 19.05.2020
comment
Почему бы вам не показать свой текущий код, чтобы мы могли понять, какую проблему вы пытаетесь решить?   -  person Gaurav    schedule 19.05.2020


Ответы (1)


Я понимаю, как это решить. Я использовал коллекцию для идентификации элементов. Спасибо всем за вашу помощь!

//products.js

export default create({
  main: {
    scope: '#main',
    allProducts: collection({
      itemScope: '.products-list',
      item: {
        name: text('.card-h1'),
        click: clickable('.card-h1'),
        color: text('.product-color'),
        quantity: text('.product-quantity'),
      },
    }),
  }
});

// products-test.js

function getSingleProduct(name) {
  return products.main.allProducts()
    .filter(p => p.name.trim() === name).get(0);
}

assert.equal(product.color, 'red');
assert.equal(product.quantity, 10);
person CodeJr    schedule 19.05.2020
comment
Это замечательные новости. Чтобы помочь всем остальным, добавьте свое решение, чтобы будущие искатели могли увидеть, что вы сделали, чтобы заставить его работать, а затем пометить этот ответ как правильный. - person jrjohnson; 20.05.2020
comment
Это не похоже на способ написания тестов в Ember по умолчанию. Похоже, вы используете объект страницы Ember CLI. , не так ли? В основном комментирую, чтобы другие люди не запутались, увидев этот пример кода. - person jelhan; 21.05.2020