add unit tests for wordcount

This commit is contained in:
Henrique Dias 2015-09-11 10:21:05 -03:00
parent d228fd88ab
commit 3be0425b45
3 changed files with 66 additions and 1 deletions

View file

@ -259,4 +259,31 @@ describe "ClsiManager", ->
url: url
json: @req
jar: false
}).should.equal true
}).should.equal true
describe "wordCount", ->
beforeEach ->
@request.get = sinon.stub().callsArgWith(1, null, {statusCode: 200}, @body = { mock: "foo" })
@ClsiManager._buildRequest = sinon.stub().callsArgWith(2, null, { compile: { rootResourcePath: "rootfile.text" } })
@ClsiManager._getCompilerUrl = sinon.stub().returns "compiler.url"
describe "with root file", ->
beforeEach ->
@ClsiManager.wordCount @project_id, false, {}, @callback
it "should call wordCount with root file", ->
@request.get
.calledWith({ url: "compiler.url/project/#{@project_id}/wordcount?file=rootfile.text" })
.should.equal true
it "should call the callback", ->
@callback.called.should.equal true
describe "with param file", ->
beforeEach ->
@ClsiManager.wordCount @project_id, "main.tex", {}, @callback
it "should call wordCount with param file", ->
@request.get
.calledWith({ url: "compiler.url/project/#{@project_id}/wordcount?file=main.tex" })
.should.equal true

View file

@ -352,3 +352,22 @@ describe "CompileController", ->
@CompileController.compileAndDownloadPdf @req, @res
@CompileController.proxyToClsi.calledWith(@project_id, "/project/#{@project_id}/output/output.pdf", @req, @res).should.equal true
done()
describe "wordCount", ->
beforeEach ->
@CompileManager.wordCount = sinon.stub().callsArgWith(2, null, {content:"body"})
@req.params =
Project_id: @project_id
@res.send = sinon.stub()
@res.contentType = sinon.stub()
@CompileController.wordCount @req, @res, @next
it "should proxy to the CLSI", ->
@CompileManager.wordCount
.calledWith(@project_id, false)
.should.equal true
it "should return a 200 and body", ->
@res.send
.calledWith(200, {content:"body"})
.should.equal true

View file

@ -259,3 +259,22 @@ describe "CompileManager", ->
@CompileManager._checkIfAutoCompileLimitHasBeenHit true, (err, canCompile)=>
canCompile.should.equal false
done()
describe "wordCount", ->
beforeEach ->
@CompileManager.getProjectCompileLimits = sinon.stub().callsArgWith 1, null, @limits = { compileGroup: "mock-compile-group" }
@ClsiManager.wordCount = sinon.stub().callsArg(3)
@CompileManager.wordCount @project_id, false, @callback
it "should look up the compile group to use", ->
@CompileManager.getProjectCompileLimits
.calledWith(@project_id)
.should.equal true
it "should call wordCount for project", ->
@ClsiManager.wordCount
.calledWith(@project_id, false, @limits)
.should.equal true
it "should call the callback", ->
@callback.called.should.equal true