Блок Мокко, тестирующий модель мангуста - PullRequest
0 голосов
/ 03 декабря 2018

Я пытаюсь сделать простой тест моей модели мангуста с мокко и чай

// Mock user
  var testUser = new User({
    companyID: "1",
    username: "mockUser",
    password: "password",
    email: "a@valid.email",
  });

// Create new user
it('Should add a new user with a hashed password to DB' , (done) => {
  User.addUser(testUser, (err, user) => {
    if(err) console.log(err);
    else {
      assert.typeOf(user, 'Object');
      assert.equal(user.username, "mockUser");
      expect(user.password).to.not.equal("password");
    }
    done();
  });
});

Ошибка: превышено время ожидания 2000 мс.Для асинхронных тестов и хуков убедитесь, что вызывается «done ()»;если вы возвращаете обещание, убедитесь, что оно разрешено

Я предполагаю, что mocha изменился, так как он работал с предыдущими проектами.Что мне здесь не хватает?

метод модели:

module.exports.addUser = function(newUser, callback) {
  bcrypt.genSalt(10, (err, salt) => {
    bcrypt.hash(newUser.password, salt, (err, hash) => {
      if (err) throw err;
      newUser.password = hash;
      newUser.save(callback);
    });
  });
}

Ответы [ 2 ]

0 голосов
/ 03 декабря 2018

забыл требовать само приложение.

const app = require('../app');
0 голосов
/ 03 декабря 2018

Иногда, когда модульный тест подразумевает создание объекта в базе данных, это занимает более 2 секунд по умолчанию.Попробуйте запустить mocha, увеличивая время ожидания, и убедитесь, что он работает.

mocha --timeout 10000
...