Не найти по идентификатору параметра при отправке запроса - PullRequest
0 голосов
/ 19 января 2020

Мой тестовый код шутка похож на это ...

test("PUT /agent/:id 201 (master)", async () => {
  const { status, body } = await request(app())
    .put("/5e2086ba6ad2883f74f8e9e5")
    .send({
      access_token: "iamashinhancy",
      "org_id":"qualelecom"
    });

  expect(status).toBe(201);
  expect(typeof body).toEqual("object");
  expect(body.org_id).toEqual("qualelecom");
});

И я пытаюсь провести модульное тестирование, и мой API-интерфейс такой ...

export const update = (req, res, next) => {
 if (req.body) 

      const newJson = {};

      Object.entries(req.body).forEach(([key, value]) => newJson[key] = value);


      var query = { $set:newJson }
    }
    var selector = {
      "_id": req.params.id,

    }

  console.log(selector,"hjghg" )
  //Main query
  AgentPackage.find(selector)
  .then(d=>{
    console.log(d,"called")
  })


  AgentPackage.findOneAndUpdate(selector, query, filter)
    .then(notFound(res))
    .then(d => AgentPackage.findById(req.params.id))
    .then(notFound(res))
    .then((agentPackage) => agentPackage ? agentPackage.view(true) : null)
    .then(success(res))
    .catch(next)
}

Хотя идентификатор совпадает, но я получаю такой результат

{_id: '5e2086ba6ad2883f74f8e9e5'} hjghg

console.log src \ api \ agent-package \ controller. js: 130 [] с именем **

> Я получаю пустую информацию в консоли, но она работает, когда я нажимаю на почтальона

**

FAIL src \ api \ agent-package \ index.test. js (6,702s) ● PUT / agent /: id 201 (мастер)

expect(received).toBe(expected)

Expected value to be (using ===):
  201
Received:
  404

Все правильно, api и Id также, но он может быть найден селектором, который здесь id ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...