Я использую Superagent (работаю с обещаниями в Async / Await) и хочу сделать несколько дополнительных утверждений в ответе Chai's Expect. Проблема в том, что для подтверждения ответа требуется какая-либо асинхронная c операция, мы не можем выполнить ее в формате подтверждения ответа, например:
it('should check for something on response', async () => {
await superagent(app)
.expect(200)
.expect(res => {
chai.expect(res.body).to.have.property('something')
})
})
, поэтому добавление асинхронных c утверждений выше будет выглядеть так:
it('should check for something async on response', async () => {
await superagent(app)
.expect(200)
.expect(async res => {
chai.expect(await checkForSmth(res.body)).to.be.true
})
})
Который не работает и всегда проходит, и если тест не пройден, это приведет к необработанным предупреждениям об отклонении обещания!