vendredi 22 janvier 2016

Sails.js: calling controller method from unit test

I would ask for some assistance. I am trying to make a method which can be called for unit test & called when specific route is triggered. createFromRoute() works just fine. If I call create() directly, I am getting an error.

User controller

module.exports = {

  /**
   * UserController.createFromRoute()
   */
  createFromRoute: function(req, res, next) {
    console.log('>>>', 'Routing to UserController.createFromRoute()');

    // Calling create method
    this.create(req.params.all())
      .then(function(user) {
        res.json(user);
      })
      .fail(res.badRequest);
  },

  create: function(data) {
    console.log('>>>', 'Entering create() function.');
    return User.create(data);
  },

};

Sample test

var UserController = require('../../api/controllers/UserController.js');

describe('testing', function() {
  data = {};
  UserController.create(data);
});

Error

>>> Entering create() function.
path/api/controllers/UserController.js:28
  return User.create(data);
           ^
ReferenceError: User is not defined

Aucun commentaire:

Enregistrer un commentaire