Monday 10 April 2017

How to bind a helper stub to swagger-node with supertest?

I am using Swagger Node with express and I initialized the skeleton project. Swagger project create hello-world

Then inside the hello-world/api/controllers/hello_world.js I added a small modification to require a helper hello_helper.js and call its function helloHelper.getName().

'use strict';
let helloHelper = require('../helpers/hello_helper');
var util = require('util');
module.exports = {
  hello: hello
};
function hello(req, res) {
  var name = req.swagger.params.name.value || helloHelper.getName();
  var hello = util.format('Hello, %s!', name);
  res.json(hello);
}

hello-world/api/helpers/hello_helper.js

'use strict';
module.exports = {getName: getName};
function getName() {
    return 'Ted';
}

I would like to stub helloHelper.getName() to return 'Bob' instead. I can do so easily with: hello-world/test/api/controllers/hello_world.js

// Create stub import of hello_helper
mockHelloHelper = proxyquire('../../../api/controllers/hello_world', { '../helpers/hello_helper': { getName: function () { return 'Bob'; } }
});

Using supertest how can I make swagger recognize my stub?



via Quinma

No comments:

Post a Comment