chai-connect-middleware

Helpers for testing Connect middleware with the Chai assertion library.

chai-connect-middleware

Helpers for testing Connect middleware with the Chai assertion library.

$ npm install chai-connect-middleware

Use this plugin as you would all other Chai plugins:

var chai = require('chai')
  , connect = require('chai-connect-middleware');
 
chai.use(connect);

Once used, the chai.connect helper function will be available to set up test cases for Connect middleware.

The helper function can be called from a hook to setup the test case. The helper returns a wrapper on which callbacks are registered to be executed when the middleware invokes next or ends the response. If the middleware finishes in an unexpected way, the test helper will automatically throw an exception.

The following demonstrates a Mocha test case.

describe('middleware test', function() {
  var res = res;
    
  before(function(done) {
    chai.connect(middleware)
      .req(function(req) {
        req.query = { hello: 'Bob' };
      })
      .end(function(r) {
        res = r;
        done();
      })
      .dispatch(new Error('something went wrong'));
  });
 
  it('should send correct body', function() {
    expect(res.body).to.equal('Hello, Bob');
  });
});
$ npm install
$ npm test

The MIT License

Copyright (c) 2013 Jared Hanson <http://jaredhanson.net/>