Kaynağa Gözat

added getting connected users controller

Henry Oswald 12 yıl önce
ebeveyn
işleme
e6dfef6225

+ 13 - 0
services/web/app/coffee/Features/ConnectedUsers/ConnectedUsersController.coffee

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

+ 46 - 0
services/web/test/UnitTests/coffee/ConnectedUsers/ConnectedUsersControllerTests.coffee

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

+ 0 - 0
services/web/test/UnitTests/coffee/ConnectedUsersManager/ConnectedUsersManagerTests.coffee → services/web/test/UnitTests/coffee/ConnectedUsers/ConnectedUsersManagerTests.coffee