express-recorder

Records your middleware and gives you a result you can assert

Express Recorder

This module will pass fakes to your middleware which you can assert.

var recorder = require('express-recorder');
 
// Middleware  
 
var middleware = function (reqresnext) {
  res.locals.username = req.body.firstname + ' ' + res.locals.lastname;
  next();
};
 
// Setup state 
 
var body = { firstname: 'Geert' };
var locals = { lastname: 'Pasteels' }; 
 
recorder(middleware, { body: body, locals: locals }, function (result) {
 
  result.eql({
    next: true,
    locals: { lastname: 'Pasteels', username: 'Geert Pasteels' }
  });
 
});
 
  • body
  • locals
  • session
  • params
  • query
  • cookies
  • headers
  • request

The 'request' option is used to add properties to the request object.

 
recorder(middleware, { request: { missing: 'MIA' } }, function (result) {
  //assert 
});
 

The result object has the following properties for asserting.

  • render
  • redirect
  • send
  • json
  • next
  • header
  • cookie
  • locals

It also has a handy eql method that shows the difference between the result object and your expected object.

make test