diff --git a/lib/mockResponse.js b/lib/mockResponse.js index 184be86..02ffcb7 100644 --- a/lib/mockResponse.js +++ b/lib/mockResponse.js @@ -242,6 +242,10 @@ function createResponse(options) { _data += JSON.stringify(b); } } + + mockResponse.emit('send'); + mockResponse.emit('end'); + }; /** diff --git a/test/lib/mockResponse.spec.js b/test/lib/mockResponse.spec.js index d34a6d4..e68956f 100644 --- a/test/lib/mockResponse.spec.js +++ b/test/lib/mockResponse.spec.js @@ -465,9 +465,27 @@ describe('mockResponse', function() { // TODO: fix in 2.0; method should mimic Express Response.json() describe('.json()', function() { + var response; + + beforeEach(function() { + response = mockResponse.createResponse(); + sinon.spy(response, 'emit'); + }); + + afterEach(function() { + response.emit.restore(); + response = null; + }); it('method should mimic Express Response.json()'); + it('should emit send and end events', function() { + response.json({}); + expect(response.emit).to.have.been.calledTwice; + expect(response.emit).to.have.been.calledWith('send'); + expect(response.emit).to.have.been.calledWith('end'); + }); + }); // TODO: fix in 2.0; method should mimic Express Response.redirect()