Мокко, тестирование запроса на поставку в массив - PullRequest
1 голос
/ 05 ноября 2019

Я пытаюсь обновить мой массив:

let myDB = [{ post: "post_1", comment: "comment_1" }];

с заявкой на покупку

app.put("/updatePost", function(req, res) {
  let index = Number(req.body.updateI) - 1;

  let updatedComment = { post: req.body.updateP, comment: req.body.updateC };
  myDB.splice(index, 1, updatedComment);

  res.render("index.ejs", { posts: myDB });

});

Отлично работает при ручном запуске, но тест Mocha / SuperTest завершается неудачно:

describe("Put /", function() {
  it("I should access the Put route ", function(done) {
    supertest(myApp.app)
      .put("/updatePost")
      .send({
        updateI: "1",
        updateP: "update_post_1",
        updateC: "update_comment_1"
      })
      .expect(res => {
        if (myApp.myDB[0].updateP !== "update_post_1") {
          throw new Error("Update error" );
        }
     })
      .expect(200)
      .end(function(err, res) {
        if (err) return done(err);
        done();
      });
  });
});

В частности, myApp.myDB[0].updateP в тесте Mocha / SuperTest возвращает неопределенное значение вместо строки. Есть идеи?

...