Я пытаюсь проверить маршрут в своем приложении, которое занимается регистрацией нового пользователя. Сначала тест должен удалить все записи из коллекции (это тестовая база данных), а затем вызвать фактический маршрут. Это код:
it('Test POST/register route', async () => {
await User.deleteMany({})//Calling Mongoose method to first remove all records.
await request(app)
.post('/register')
.send({ email: 'yoyo@gmail.com', password: 1234 })
.expect(200)
.expect((res) => {
expect(res.body).toHaveProperty('error', null);
const { id } = res.body.data;
expect(typeof id).toBe('string');
})
})
Когда я запускаю это, я получаю сообщение об ошибке: «Для асинхронных тестов и перехватов убедитесь, что вызывается« done () »; если вы возвращаете Promise, убедитесь, что он разрешен».
Это работает отлично, как только я удаляю оператор "await User.deleteMany ({})".
Может кто-нибудь сказать мне, что не так с моим кодом?
Изменить: проблема была в том, что фактическое время, необходимое для завершения теста. как только я использую this.timeout (0), он проходит.