Мой тестовый код шутка похож на это ...
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 ..