Мне нужно написать тест на chai (с chai-http), чтобы проверить, как мой запрос PUT работает в моем приложении express.js. Но сначала мне нужно создать запись в базе данных, отправив запрос POST. Затем получите идентификатор из ответа и используйте его в моем динамическом маршруте "/edit/:id".
Как я могу сделать это в одном тесте в цепочке? Я пытаюсь сделать что-то вроде этого:
test("No body", function(done) {
let idToChange = null;
chai
.request(server)
.post("/add")
.send({
issue_title: "Test",
issue_text: "Test",
created_by: "Test"
})
.then(res => (idToChange = res.body._id))
.put(`/edit/${idToChange}`)
.send({ issue_title: "Test 1" })
.end(function(err, res) {
assert.equal(res.status, 200);
assert.equal(res.body._id, idToChange);
assert.equal(res.body.issue_title, "Test 1");
done();
});
});
Но это не сработало и выдало ошибку:
TypeError: chai.request(...).post(...).send(...).then(...).put is not a function