Как я могу использовать несколько запросов в Chai, чтобы сделать запрос после публикации? - PullRequest
0 голосов
/ 31 октября 2019

Мне нужно написать тест на 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
...