|
@@ -0,0 +1,46 @@
|
|
|
|
|
+should = require('chai').should()
|
|
|
|
|
+SandboxedModule = require('sandboxed-module')
|
|
|
|
|
+assert = require('assert')
|
|
|
|
|
+path = require('path')
|
|
|
|
|
+sinon = require('sinon')
|
|
|
|
|
+modulePath = path.join __dirname, "../../../../app/js/Features/ConnectedUsers/ConnectedUsersController"
|
|
|
|
|
+expect = require("chai").expect
|
|
|
|
|
+
|
|
|
|
|
+describe "ConnectedUsersController", ->
|
|
|
|
|
+
|
|
|
|
|
+ beforeEach ->
|
|
|
|
|
+
|
|
|
|
|
+ @settings = {}
|
|
|
|
|
+ @ConnectedUsersManager =
|
|
|
|
|
+ getConnectedUsers:sinon.stub()
|
|
|
|
|
+ @ConnectedUsersController = SandboxedModule.require modulePath, requires:
|
|
|
|
|
+ "settings-sharelatex":@settings
|
|
|
|
|
+ "./ConnectedUsersManager":@ConnectedUsersManager
|
|
|
|
|
+ "logger-sharelatex":
|
|
|
|
|
+ log:->
|
|
|
|
|
+ err:->
|
|
|
|
|
+ @project_id = "231312390128309"
|
|
|
|
|
+ @req =
|
|
|
|
|
+ params:
|
|
|
|
|
+ project_id:@project_id
|
|
|
|
|
+ @res = {}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ describe "getConnectedUsers", ->
|
|
|
|
|
+
|
|
|
|
|
+ beforeEach ->
|
|
|
|
|
+ @connectedUsersData = [{user_id:"312321"}, {user_id:"3213213"}]
|
|
|
|
|
+
|
|
|
|
|
+ it "should get the connected user data for that project", (done)->
|
|
|
|
|
+ @ConnectedUsersManager.getConnectedUsers.callsArgWith(1, null, @connectedUsersData)
|
|
|
|
|
+ @res.send = (d)=>
|
|
|
|
|
+ d.should.deep.equal @connectedUsersData
|
|
|
|
|
+ done()
|
|
|
|
|
+ @ConnectedUsersController.getConnectedUsers @req, @res
|
|
|
|
|
+
|
|
|
|
|
+ it "should send a 500 on an error", (done)->
|
|
|
|
|
+ @ConnectedUsersManager.getConnectedUsers.callsArgWith(1, "error")
|
|
|
|
|
+ @res.send = (code)=>
|
|
|
|
|
+ code.should.equal 500
|
|
|
|
|
+ done()
|
|
|
|
|
+ @ConnectedUsersController.getConnectedUsers @req, @res
|