42

私はExpressで以下を持っています

 //index.js

 var service = require('./subscription.service');
 var auth = require('../auth/auth.service');
 var router = express.Router();

 router.post('/sync', auth.isAuthenticated, service.synchronise);

 module.exports = router;

これを返すために isAuthenticated をオーバーライドまたはモックしたい

auth.isAuthenticated = function(req, res, next) { 
  return next(); 
}

これが私の単体テストです:

it('it should return a 200 response', function(done) {

  //proxyquire here?

  request(app).post('/subscriptions/sync')
  .set('Authorization','Bearer '+ authToken)
  .send({receipt: newSubscriptionReceipt })
  .expect(200,done);
});

proxyquire を使用して index.js をモックしようとしました - ルーターをスタブする必要があると思いますか? 私もテストでオーバーライドしようとしました

app.use('/subscriptions', require('./api/subscription'));

リクエストを認証する必要がないように、これをモックする簡単な方法が必要です。何か案は?

4

1 に答える 1