EmberJS - Помощник Click() не работает должным образом

При передаче селектора JQuery методу click() в emberjs во время тестирования элемент не щелкается. Я пытаюсь написать простой приемочный тест, в котором нажимается элемент с идентификатором и ссылкой, а URL-адрес изменяется, а затем я утверждаю, что страница изменилась.

Я добавил идентификатор в <a> element id="sidebar-user-profile" и когда я пытаюсь click($('#sidebar-user-profile')) Я получаю сообщение об ошибке "Ошибка: элемент [объект] не найден". Я пытался сделать то же самое, находясь на странице, в консоли Chrome, набрав $('#sidebar-user-profile') и он выбрал именно этот элемент.

Я пытался заставить это работать в течение прошлых 2 недель, и у меня нет вариантов.

edit: вот тест с ошибкой:

test('exists and works /home/user-profile', function(assert) {
  assert.expect(1);
  click('#sidebar-user-profile');
  andThen(function() {
    assert.equal(currentURL(), '/home/user-profile');
  });
});

<li>{{#link-to 'home.user-profile' id="sidebar-user-profile"}}User Profile{{/link-to}}</li>

1 ответ

Click принимает селектор, а не объект jquery, ваш тест будет выглядеть примерно так:

click('#sidebar-user-profile');
andThen(() => {
  assert.equal(currentURL(), `/myurl/new`, 'Should go to new route');
});

Редактировать:

test('exists and works /home/user-profile', function(assert) {
  visit('/home'); // route where your link-to is located
  click('#sidebar-user-profile');
  andThen(function() {
    assert.equal(currentURL(), '/home/user-profile');
  });
});
Другие вопросы по тегам