Я знаю, что могу использовать асинхронные или обратные вызовы, но обещания тоже не должны работать?
Мое исследование показало, что все, что мне нужно, это использовать return вместо done (); Так что я сделал это до такой степени, что у меня, вероятно, слишком много возвратов.
Все еще получаю ошибку 2000 мс.
Я преобразовал их в обратные вызовы (с done ()), и все работает нормально, но я просто хочу знать, где я ошибся с обещаниями.
chai.use(chaiHTTP);
describe('Users', () => {
let UserId;
before(() => {
return mongoose.connect(
'mongodb://localhost/testpromises',
{},
err => {
if (err) return console.log(err);
return console.log('TEST DB Connection Success!!');
}
);
});
after(() => {
return mongoose.connection.close();
});
beforeEach(() => {
const newUser = new User({
username: 'testuser',
password: 'testuser'
});
return newUser
.save()
.then(savedUser => {
userId = savedUser._id.toString();
})
.catch(err => {
console.log(err);
});
});
afterEach(() => {
return User.remove({ username: 'testuser' }, err => {
if (err) console.log(err);
});
});
describe(`[GET] /admin/users`, () => {
it('should get the testuser account', () => {
return chai
.request(userRoutes)
.get('/admin/users')
.then(response => {
expect(response.status).to.equal(200);
expect(username).to.equal('testuser');
})
.catch(err => {
throw err;
});
});
});
});