Я новичок в мокко и пытаюсь познакомиться с написанием тестов в мокко. У меня есть сценарий, в котором я в настоящее время использую Everyauth для аутентификации пользователей с использованием аутентификации Facebook. Таким образом, у меня может быть запрос к пользователям/профилю конечной точки, который показан ниже:
router.route('/profile')
.get(function(req, res) {
if(req.session.auth) {
res.json({
user: req.user.toObject({getters: true})
});
} else {
res.status(HttpStatus.UNAUTHORIZED);
res.json({
message: 'You need to be logged in to view this information'
});
}
});
Если бы я хотел протестировать эту конечную точку с помощью мокко и суперагента, как бы я это сделал? Как я смогу имитировать вход в систему с помощью Everyauth, используя структуру mocha.
В настоящее время у меня есть тест, который показан ниже:
it('should return user information on being logged in', function(done) {
superagent.get(url + '/users/profile').end(function(err, res) {
expect(res.status).to.equal(200);
expect(res.body).to.eql({
users: // some user object
});
done();
});
});
Однако, если я не могу смоделировать вход в систему, я не могу проверить, возвращаются ли правильные данные через вызов конечной точки.