samedi 3 janvier 2015

how to mock hapi.js reply for unit testing

Is there simple way of mocking the hapi reply object/function for easy unit testing?


The examples I see for hapi all use server.inject and the "lab" framwork for testing. I'm curious to see how I could keep using mocha and would like to test controller directly rather than injecting into the server.


test/post.js



it('should be able to create a post', function(done){

var request.payload = {foo:bar};
var reply = {}; //how do I mock this?
PostController.create.handler(request, reply);
reply.r

});


controllers/post.js



var Boom = require('Boom')
Post = require('../models/Post')
module.exports = {

create: {
auth: 'token',
handler: function (request, reply) {

var p = new Post({foo:request.payload.foo});
p.save(function (err, results) {
if (!err && results)
reply(results).created();
else {
reply(Boom.badImplementation(err));
}
});

}
}

Aucun commentaire:

Enregistrer un commentaire