ember-simple-auth, приемочные тесты и ожидание асинхронных действий

Борьба с приемочными испытаниями. Начал с основного теста входа в систему:

import { test } from 'qunit';
import moduleForAcceptance from 'static/tests/helpers/module-for-acceptance';

moduleForAcceptance('Acceptance | authentication');

test('login', function(assert) {
  visit('/');
  click('.nav-bar__login-link');
  andThen(function() {
    assert.notOk(find('.login-form__submit-button').attr('disabled'));
  });

  fillIn('.login-form__email-block input', "ruz@email.com");
  fillIn('.login-form__password-block input', "qwe");
  click('.login-form__submit-button');

  andThen(function() {
    console.log("ftw");
    assert.equal(find('.nav-bar__profile-link').text(), "some");
  });
});

Проблема в том, что и обратный вызов вызывается до завершения аутентификации. Это jQuery AJAX-запрос и несколько обещаний после. Из того, что я вижу, ember ждет завершения ajax-запроса, но не ждет, пока обещания будут разрешены / отклонены. Должен ли этот тест работать из коробки? Должен ли я написать собственный официант?

1 ответ

Похоже, ваши обещания не могут быть настроены правильно? Но нет, у вас должна быть возможность писать тесты с помощью помощников приемочных тестов, и вам не нужно беспокоиться об установлении асинхронных вызовов (или разрешении обещаний) самостоятельно

Другие вопросы по тегам