added getting connected users controller

This commit is contained in:
Henry Oswald
2014-07-14 16:01:58 +01:00
parent b0cf0666fa
commit e6dfef6225
3 changed files with 59 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
ConnectedUsersManager = require("./ConnectedUsersManager")
logger = require("logger-sharelatex")
module.exports =
getConnectedUsers: (req, res)->
project_id = req.params.project_id
ConnectedUsersManager.getConnectedUsers project_id, (err, users)->
if err?
logger.err err:err, project_id:project_id, "problem getting connected users"
return res.send 500
res.send(users)

View File

@@ -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