Как ожидать входа пользователя в интеграционные тесты 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 для более подробной информации.