UNPKG

sails

Version:

API-driven framework for building realtime apps, using MVC conventions (based on Express and Socket.io)

65 lines (51 loc) 1.58 kB
/** * Module dependencies */ var assert = require('assert'); var util = require('util'); var $Sails = require('../../helpers/sails'); var $Router = require('../../helpers/router'); describe('Request hook', function (){ var sails = $Sails.load({ globals: false, loadHooks: [ 'moduleloader', 'userconfig', 'request' ] }); it('should expose `req.allParams()`', function (done) { var ROUTEADDRESS = '/req_allParams'; sails.router.bind(ROUTEADDRESS, function (req, res) { try { assert(typeof req.allParams === 'function', 'req.allParams() should be defined when request hook is enabled.'); } catch (e) { res.sendStatus(500); return done(e); } res.sendStatus(200); done(); }) .emit('router:request', {url: ROUTEADDRESS}); }); // NO LONGER SUPPORTED it('should expose `req.validate()`-- but calling it should always fail', function (done) { var ROUTEADDRESS = '/req_validate'; sails.router.bind(ROUTEADDRESS, function (req, res, next) { assert(typeof req.validate === 'function', 'req.validate() should be defined when request hook is enabled.'); try { req.validate('foo'); } catch (e) { return res.sendStatus(420); } return res.sendStatus(200); }); sails.request(ROUTEADDRESS, function (err){ try { assert(err && err.status === 420, new Error('Expecting error: it should no longer be supported')); } catch (e) { return done(e); } return done(); }); });//</it> });