| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- chai = require("chai")
- expect = chai.expect
- chai.should()
- RealTimeClient = require "./helpers/RealTimeClient"
- MockWebServer = require "./helpers/MockWebServer"
- FixturesManager = require "./helpers/FixturesManager"
- describe "clientTracking", ->
- before (done) ->
- FixturesManager.setUpProject {
- privilegeLevel: "owner"
- project: {
- name: "Test Project"
- }
- }, (error, data) =>
- throw error if error?
- {@user_id, @project_id} = data
- @clientA = RealTimeClient.connect()
- @clientB = RealTimeClient.connect()
- @clientA.emit "joinProject", {
- project_id: @project_id
- }, (error) =>
- throw error if error?
- @clientB.emit "joinProject", {
- project_id: @project_id
- }, (error) =>
- throw error if error?
- done()
-
- describe "when a client updates its cursor location", ->
- before (done) ->
- @updates = []
- @clientB.on "clientTracking.clientUpdated", (data) =>
- @updates.push data
-
- @clientA.emit "clientTracking.updatePosition", {
- row: @row = 42
- column: @column = 36
- doc_id: @doc_id = "mock-doc-id"
- }, (error) ->
- throw error if error?
- done()
-
- it "should tell other clients about the update", ->
- @updates.should.deep.equal [
- {
- row: @row
- column: @column
- doc_id: @doc_id
- id: @clientA.socket.sessionid
- user_id: @user_id
- name: "Joe Bloggs"
- }
- ]
-
- it "should record the update in getConnectedUsers", (done) ->
- @clientB.emit "clientTracking.getConnectedUsers", (error, users) =>
- for user in users
- if user.client_id == @clientA.socket.sessionid
- expect(user.cursorData).to.deep.equal({
- row: @row
- column: @column
- doc_id: @doc_id
- })
- return done()
- throw new Error("user was never found")
-
-
- describe "anonymous users", ->
- it "should test something..."
|