|
@@ -12,7 +12,10 @@ describe "ReferencesSearchController", ->
|
|
|
@project_id = '2222'
|
|
@project_id = '2222'
|
|
|
@doc_id = '3333'
|
|
@doc_id = '3333'
|
|
|
@controller = SandboxedModule.require modulePath, requires:
|
|
@controller = SandboxedModule.require modulePath, requires:
|
|
|
- 'logger-sharelatex': {log: ->}
|
|
|
|
|
|
|
+ 'logger-sharelatex': {
|
|
|
|
|
+ log: ->
|
|
|
|
|
+ err: ->
|
|
|
|
|
+ }
|
|
|
'settings-sharelatex': @settings = {
|
|
'settings-sharelatex': @settings = {
|
|
|
apis: {web: {url: 'http://some.url'}}
|
|
apis: {web: {url: 'http://some.url'}}
|
|
|
}
|
|
}
|
|
@@ -57,3 +60,37 @@ describe "ReferencesSearchController", ->
|
|
|
@ReferencesSearchHandler.indexFile.calledWith(@project_id, expected_url).should.equal true
|
|
@ReferencesSearchHandler.indexFile.calledWith(@project_id, expected_url).should.equal true
|
|
|
done()
|
|
done()
|
|
|
@controller.indexFile(@req, @res)
|
|
@controller.indexFile(@req, @res)
|
|
|
|
|
+
|
|
|
|
|
+ describe 'without a doc_id', ->
|
|
|
|
|
+
|
|
|
|
|
+ beforeEach ->
|
|
|
|
|
+ @req.body = {bad: true}
|
|
|
|
|
+
|
|
|
|
|
+ it 'should produce a 400 response', (done) ->
|
|
|
|
|
+ @res.send = (status) =>
|
|
|
|
|
+ status.should.equal 400
|
|
|
|
|
+ done()
|
|
|
|
|
+ @controller.indexFile(@req, @res)
|
|
|
|
|
+
|
|
|
|
|
+ describe 'when the ProjectLocator cannot find the doc', ->
|
|
|
|
|
+
|
|
|
|
|
+ beforeEach ->
|
|
|
|
|
+ @req.body = {docId: 'some_weird_id'}
|
|
|
|
|
+ @ProjectLocator.findElement.callsArgWith(1, new Error('not found'), 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,
|
|
|
|
|
+ type: 'doc'
|
|
|
|
|
+ @ProjectLocator.findElement.calledWith(arg).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)
|