私はモカが初めてで、モカでテストを書くことに慣れようとしています。Facebook認証を使用してユーザーを認証するために、現在everyauthを使用しているシナリオがあります。したがって、以下に示すエンドポイント ユーザー/プロファイルへの要求がある場合があります。
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'
});
}
});
mocha と superagent を使用してこのエンドポイントをテストしたい場合、どうすればよいでしょうか? mocha フレームワークを使用して、everyauth でログインをシミュレートするにはどうすればよいですか。
現在、以下に示すテストがあります。
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();
});
});
ただし、ログインをシミュレートできない限り、エンドポイントへの呼び出しを介して正しいデータが返されているかどうかをテストできません。