From 877ea1d376d938e9c2416f3262739d49f67e56f0 Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Wed, 30 Dec 2015 16:20:14 +0000 Subject: [PATCH] Test remaining failure cases. --- .../ReferencesSearchControllerTests.coffee | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/services/web/test/UnitTests/coffee/ReferencesSearch/ReferencesSearchControllerTests.coffee b/services/web/test/UnitTests/coffee/ReferencesSearch/ReferencesSearchControllerTests.coffee index 5cb911e870..cd07eb9652 100644 --- a/services/web/test/UnitTests/coffee/ReferencesSearch/ReferencesSearchControllerTests.coffee +++ b/services/web/test/UnitTests/coffee/ReferencesSearch/ReferencesSearchControllerTests.coffee @@ -77,13 +77,14 @@ describe "ReferencesSearchController", -> beforeEach -> @req.body = {docId: 'some_weird_id'} @ProjectLocator.findElement.callsArgWith(1, new Error('not found'), null) + @ReferencesSearchHandler.indexFile.callsArgWith(2, null) it 'should call ProjectLocator.findElement', (done) -> @res.send = (status) => @ProjectLocator.findElement.calledOnce.should.equal true arg = project_id: @project_id - element_id: @doc_id, + element_id: 'some_weird_id', type: 'doc' @ProjectLocator.findElement.calledWith(arg).should.equal true done() @@ -94,3 +95,24 @@ describe "ReferencesSearchController", -> status.should.equal 500 done() @controller.indexFile(@req, @res) + + describe 'when the ReferencesSearchHandler produces an error', -> + + beforeEach -> + @req.body = {docId: @doc_id} + @ProjectLocator.findElement.callsArgWith(1, null, {}) + @ReferencesSearchHandler.indexFile.callsArgWith(2, new Error('something went wrong')) + + it 'should call ReferencesSearchHandler.indexFile', (done) -> + @res.send = (status) => + @ReferencesSearchHandler.indexFile.calledOnce.should.equal true + expected_url = "http://some.url/project/2222/doc/3333" + @ReferencesSearchHandler.indexFile.calledWith(@project_id, expected_url).should.equal true + done() + @controller.indexFile(@req, @res) + + it 'should produce a 500 response', (done) -> + @res.send = (status) => + status.should.equal 500 + done() + @controller.indexFile(@req, @res)