Express 模拟受保护端点上的Passport身份验证

Express 模拟受保护端点上的Passport身份验证,express,mongoose,continuous-integration,mocha.js,passport.js,Express,Mongoose,Continuous Integration,Mocha.js,Passport.js,我正在使用passport本地策略对用户进行身份验证,并且在受保护的端点上进行持续集成测试时遇到问题。我过去经常启动并运行身份验证。我正在使用mocha/chai进行测试,但我不知道如何在测试期间使用登录的用户测试端点。我知道我可能不得不使用模拟策略,但我不知道如何做到这一点。这里是一个端点示例,我需要用户登录,这样我就可以访问req.user.id变量,该变量在用户登录时设置 router.post('/user/draft/delete', (req, res) => { if(!re

我正在使用passport本地策略对用户进行身份验证,并且在受保护的端点上进行持续集成测试时遇到问题。我过去经常启动并运行身份验证。我正在使用mocha/chai进行测试,但我不知道如何在测试期间使用登录的用户测试端点。我知道我可能不得不使用模拟策略,但我不知道如何做到这一点。这里是一个端点示例,我需要用户登录,这样我就可以访问req.user.id变量,该变量在用户登录时设置

router.post('/user/draft/delete', (req, res) => {
if(!req.user) {
    return res.redirect('/login');
}

User
    .findById(req.user.id)
    .exec()
    .then(user => {
        user.drafts.pull(req.body.draftid);
        user.save();
        res.status(202).redirect('/dashboard');
    })
    .catch(err => {
        console.error(err);
        res.status(500).redirect('/dashboard');
    });
});
我不确定还需要什么其他信息,但我很乐意用任何需要的代码更新这篇文章