| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- should = require('chai').should()
- modulePath = "../../../../app/js/Features/Project/ProjectApiController"
- SandboxedModule = require('sandboxed-module')
- sinon = require('sinon')
- require('chai').should()
- describe 'Project api controller', ->
- beforeEach ->
- @ProjectDetailsHandler =
- getDetails : sinon.stub()
- @controller = SandboxedModule.require modulePath, requires:
- "./ProjectDetailsHandler":@ProjectDetailsHandler
- 'logger-sharelatex':
- log:->
- @project_id = "321l3j1kjkjl"
- @req =
- params:
- project_id:@project_id
- session:
- destroy:sinon.stub()
- @res = {}
- @projDetails = {name:"something"}
- describe "getProjectDetails", ->
- it "should ask the project details handler for proj details", (done)->
- @ProjectDetailsHandler.getDetails.callsArgWith(1, null, @projDetails)
- @res.json = (data)=>
- @ProjectDetailsHandler.getDetails.calledWith(@project_id).should.equal true
- data.should.deep.equal @projDetails
- done()
- @controller.getProjectDetails @req, @res
- it "should send a 500 if there is an error", (done)->
- @ProjectDetailsHandler.getDetails.callsArgWith(1, "error")
- @res.send = (resCode)=>
- resCode.should.equal 500
- done()
- @controller.getProjectDetails @req, @res
- it "should destroy the session", (done)->
- @ProjectDetailsHandler.getDetails.callsArgWith(1, null, @projDetails)
- @res.json = (data)=>
- @req.session.destroy.called.should.equal true
- done()
- @controller.getProjectDetails @req, @res
|