UNPKG

sails

Version:

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

105 lines (76 loc) 2.2 kB
/** * Module dependencies */ var assert = require('assert'); var should = require('should'); // https://github.com/visionmedia/should.js/ var buildReq = require('root-require')('lib/router/req'); /** * This mocked implementation of `req` forms the basis for * Sails' transport-agnostic support of Connect/Express * middleware. */ describe('Base Request (`req`)', function (){ describe('with empty request', function() { var req; // Mock the request object. before(function (){ req = buildReq(); req.should.be.an.Object; this.req = req; }); it('.body', function () { req.body.should.be.an.Object; req.body.should.be.empty; }); it('.params', function () { req.params.should.be.an.Array; req.params.should.be.empty; }); it('.query', function (){ req.query.should.be.an.Object; req.query.should.be.empty; }); it('.param()', function () { should(req.param('foo')) .not.be.ok; }); }); describe('with url /hello?abc=123&foo=bar', function() { var req; // Mock the request object. before(function (){ req = buildReq({url: '/hello?abc=123&foo=bar'}); req.should.be.an.Object; this.req = req; }); it('.body', function () { req.body.should.be.an.Object; req.body.should.be.empty; }); it('.params', function () { req.params.should.be.an.Array; req.params.should.be.empty; }); it('.query', function (){ req.query.should.be.an.Object; req.query.should.have.property('abc', '123'); req.query.should.have.property('foo', 'bar'); }); it('.param()', function () { should(req.param('abc')).equal('123'); should(req.param('foo')).equal('bar'); }); it('.path', function() { req.path.should.be.an.String; req.path.should.equal('/hello'); }); it('.url', function() { req.url.should.be.an.String; req.url.should.equal('/hello?abc=123&foo=bar'); }); it('.originalUrl', function() { req.originalUrl.should.be.an.String; req.originalUrl.should.equal('/hello?abc=123&foo=bar'); }); }); });