ProjectApiControllerTests.coffee 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. should = require('chai').should()
  2. modulePath = "../../../../app/js/Features/Project/ProjectApiController"
  3. SandboxedModule = require('sandboxed-module')
  4. sinon = require('sinon')
  5. require('chai').should()
  6. describe 'Project api controller', ->
  7. beforeEach ->
  8. @ProjectDetailsHandler =
  9. getDetails : sinon.stub()
  10. @controller = SandboxedModule.require modulePath, requires:
  11. "./ProjectDetailsHandler":@ProjectDetailsHandler
  12. 'logger-sharelatex':
  13. log:->
  14. @project_id = "321l3j1kjkjl"
  15. @req =
  16. params:
  17. project_id:@project_id
  18. @res = {}
  19. describe "getProjectDetails", ->
  20. it "should ask the project details handler for proj details", (done)->
  21. projDetails = {name:"something"}
  22. @ProjectDetailsHandler.getDetails.callsArgWith(1, null, projDetails)
  23. @res.json = (data)=>
  24. @ProjectDetailsHandler.getDetails.calledWith(@project_id).should.equal true
  25. data.should.deep.equal projDetails
  26. done()
  27. @controller.getProjectDetails @req, @res
  28. it "should send a 500 if there is an error", (done)->
  29. @ProjectDetailsHandler.getDetails.callsArgWith(1, "error")
  30. @res.send = (resCode)=>
  31. resCode.should.equal 500
  32. done()
  33. @controller.getProjectDetails @req, @res