ProjectApiControllerTests.coffee 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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. session:
  19. destroy:sinon.stub()
  20. @res = {}
  21. @projDetails = {name:"something"}
  22. describe "getProjectDetails", ->
  23. it "should ask the project details handler for proj details", (done)->
  24. @ProjectDetailsHandler.getDetails.callsArgWith(1, null, @projDetails)
  25. @res.json = (data)=>
  26. @ProjectDetailsHandler.getDetails.calledWith(@project_id).should.equal true
  27. data.should.deep.equal @projDetails
  28. done()
  29. @controller.getProjectDetails @req, @res
  30. it "should send a 500 if there is an error", (done)->
  31. @ProjectDetailsHandler.getDetails.callsArgWith(1, "error")
  32. @res.sendStatus = (resCode)=>
  33. resCode.should.equal 500
  34. done()
  35. @controller.getProjectDetails @req, @res