Как ожидать входа пользователя в интеграционные тесты Velocity?

Для того, чтобы выполнить мои интеграционные тесты, обратный вызов от Meteor.loginWithPassword(... должен был быть выполнен.

Если я отложу тест до тех пор, пока пользователь не будет Session переменная определена, тесты игнорируются.

Это моя функция входа в систему:

  Meteor.loginWithPassword(username, forge.util.encode64(aesKey), function(error) {
     if(!error) {
        Log.info("user loged in");
        Session.set("loggedIn", true);
     ...         
  })

а затем в тесте Мокко:

  Meteor.startup(function () {
     Tracker.autorun(function (c) {
        if (Session.get("loggedIn")) {
           c.stop();
           MochaWeb.testOnly(function () {
              Log.info("executing tests");
              describe("the KeyPair has been created", function () {
              ...

У меня вопрос: есть ли способ заставить мокко подождать какое-то состояние, или мне нужно издеваться над средой (что может нарушить цель интеграционного теста)?

Также при изменении кода я получаю следующую ошибку:

stream error Network error: ws://localhost:51366/websocket: connect ECONNREFUSED

Спасибо за поддержку

1 ответ

Решение

Запрос функции, на который указал @stubailo, теперь реализован. См. https://github.com/meteor/meteor/issues/3572 для более подробной информации.

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