ProjectApiControllerTests.coffee 1.2 KB

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