如何在JS中

时间:2018-11-27 09:33:27

标签: node.js mongodb promise mocking stub

hi StackOverflow社区 我有问题存根这段代码进行单元测试 这是对mongo的嵌套promise调用,以创建用户,然后从数据库中检索用户

return database.collection('users').insertOne(request.body) .then(response => database.collection('users') .find({_id:response.insertedId }) .limit(1) .next());

能否请您告诉我解决此问题的最佳方法 最好将调用分为各自的函数,还是...

谢谢

2 个答案:

答案 0 :(得分:0)

如果您现在创建一个用户,请使用create方法。它返回创建的对象。
return database.collection('users').create(request.body)

答案 1 :(得分:0)

如果我对您的理解正确,我会把它放在这样的函数中:

const dbOperations = {
 saveUser: (request) => database.collection('users').insertOne(request.body)
        .then(response => database.collection('users')
        .find({_id:response.insertedId })
            .limit(1)
            .next());
}

然后您可以像这样重新声明

dbOperations.saveUser = (request) => Promise.resolve(request.body);

这就是你想要的吗?