I have the following in 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;
I want to override or mock isAuthenticated to return this
auth.isAuthenticated = function(req, res, next) {
return next();
}
Here is my unit test:
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);
});
I have tried mocking index.js using proxyquire - I think I need to stub the router?
I have also tried to override in the test
app.use('/subscriptions', require('./api/subscription'));
There must be a simple way to mock this out so I don't need to authenticate the request. Any ideas?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…