From 2cfd71cd3cd78a00dfedf2089b8e4f36e096b501 Mon Sep 17 00:00:00 2001 From: Artem Molonosov Date: Fri, 8 May 2015 10:59:44 +0200 Subject: [PATCH 1/3] Emitting send and end events at json call --- lib/mockResponse.js | 4 ++++ test/lib/mockResponse.spec.js | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/lib/mockResponse.js b/lib/mockResponse.js index 184be86..40007fe 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() From eab5de96ba9e47632484efc08014f172c76f16cf Mon Sep 17 00:00:00 2001 From: Artem Molonosov Date: Fri, 8 May 2015 12:28:27 +0200 Subject: [PATCH 2/3] Removing tailing space --- lib/mockResponse.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/mockResponse.js b/lib/mockResponse.js index 40007fe..02ffcb7 100644 --- a/lib/mockResponse.js +++ b/lib/mockResponse.js @@ -245,7 +245,7 @@ function createResponse(options) { mockResponse.emit('send'); mockResponse.emit('end'); - + }; /** From 6b180be5c5435d0f0728701ea6627047de44aa76 Mon Sep 17 00:00:00 2001 From: Artem Molonosov Date: Fri, 8 May 2015 10:59:44 +0200 Subject: [PATCH 3/3] Emitting send and end events at json call --- lib/mockResponse.js | 4 ++++ test/lib/mockResponse.spec.js | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+) 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()