Я тестирую свой express API, используя Jest и Supertest. По какой-то причине это не работает:
const id = await request.post('/program')
.send(body)
.expect('Content-Type', /json/)
.expect(201).body.id;
Сбой с ошибкой:
TypeError: Cannot read property 'id' of undefined
154 | sessionId: defaults.authorId
155 | };
> 156 | const id = await request.post('/program')
| ^
157 | .send(body)
158 | .expect('Content-Type', /json/)
159 | .expect(201).body.id;
at Object.<anonymous> (tests/program.test.js:156:27)
Однако, только перемещение .body.id
на следующую строку решает проблему.
const res = await request.post('/program')
.send(body)
.expect('Content-Type', /json/)
.expect(201);
const id = res.body.id;
Почему это происходит? Неправильно ли обработан запрос await