ConnectedUsersControllerTests.coffee 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. should = require('chai').should()
  2. SandboxedModule = require('sandboxed-module')
  3. assert = require('assert')
  4. path = require('path')
  5. sinon = require('sinon')
  6. modulePath = path.join __dirname, "../../../../app/js/Features/ConnectedUsers/ConnectedUsersController"
  7. expect = require("chai").expect
  8. describe "ConnectedUsersController", ->
  9. beforeEach ->
  10. @settings = {}
  11. @ConnectedUsersManager =
  12. getConnectedUsers:sinon.stub()
  13. @ConnectedUsersController = SandboxedModule.require modulePath, requires:
  14. "settings-sharelatex":@settings
  15. "./ConnectedUsersManager":@ConnectedUsersManager
  16. "logger-sharelatex":
  17. log:->
  18. err:->
  19. @project_id = "231312390128309"
  20. @req =
  21. params:
  22. project_id:@project_id
  23. @res = {}
  24. describe "getConnectedUsers", ->
  25. beforeEach ->
  26. @connectedUsersData = [{user_id:"312321"}, {user_id:"3213213"}]
  27. it "should get the connected user data for that project", (done)->
  28. @ConnectedUsersManager.getConnectedUsers.callsArgWith(1, null, @connectedUsersData)
  29. @res.send = (d)=>
  30. d.should.deep.equal @connectedUsersData
  31. done()
  32. @ConnectedUsersController.getConnectedUsers @req, @res
  33. it "should send a 500 on an error", (done)->
  34. @ConnectedUsersManager.getConnectedUsers.callsArgWith(1, "error")
  35. @res.send = (code)=>
  36. code.should.equal 500
  37. done()
  38. @ConnectedUsersController.getConnectedUsers @req, @res