Проблема в том, что вызов метода validate
является асинхронным, но ваш тест не ожидает завершения операции sh. Это приводит к тому, что ваш console.log
выполняется после завершения теста. Следовательно, вы получаете ошибку:
Невозможно войти в систему после завершения испытаний. Вы забыли подождать что-нибудь асинхронное c в своем тесте?
Поскольку в документации API для метода validate
указано, что он возвращает обещание, вы можете ожидать, что обещание, прежде чем сделать ваши ожидания:
it('validating document', async () => {
const peopleSchema = new mongoose.Schema({
name: String,
age: Number,
});
const People = mongoose.model('People', peopleSchema);
const p = new People({
name: 'you',
age: 3,
});
const err = await p.validate();
// If the validation passes, the validate function returns undefined.
expect(err).toBe(undefined);
});