diff --git a/lib/mockRequest.js b/lib/mockRequest.js index 9a1c297..91a3ba6 100644 --- a/lib/mockRequest.js +++ b/lib/mockRequest.js @@ -34,6 +34,7 @@ var url = require('url'); var typeis = require('type-is'); var accepts = require('accepts'); var EventEmitter = require('events').EventEmitter; +var Readable = require('stream').Readable; var standardRequestOptions = [ 'method', 'url', 'originalUrl', 'baseUrl', 'path', 'params', 'session', 'cookies', 'headers', 'body', 'query', 'files' @@ -58,7 +59,7 @@ function createRequest(options) { } // create mockRequest - var mockRequest = Object.create(EventEmitter.prototype); + var mockRequest = new Readable(); EventEmitter.call(mockRequest); mockRequest.method = options.method ? options.method : 'GET'; diff --git a/test/lib/mockRequest.spec.js b/test/lib/mockRequest.spec.js index 47a84d9..911d3a4 100644 --- a/test/lib/mockRequest.spec.js +++ b/test/lib/mockRequest.spec.js @@ -32,6 +32,14 @@ describe('mockRequest', function() { expect(request).to.be.an('object'); }); + it('should be an EventEmitter', function() { + expect(request).to.be.an.instanceof(require('events').EventEmitter); + }); + + it('should be a Readable stream', function() { + expect(request).to.be.an.instanceof(require('stream').Readable); + }); + it('should expose Express Request object methods', function() { expect(request).to.have.property('get'); expect(request.get).to.be.a('function');