1
0
Fork 0
mirror of https://github.com/overleaf/overleaf.git synced 2025-04-22 20:07:40 +00:00

Handle the case where the user has only a last_name set

This commit is contained in:
Shane Kilkelly 2017-12-13 10:28:35 +00:00
parent 06c8729ce7
commit 675814f1b1
2 changed files with 46 additions and 3 deletions
services/real-time

View file

@ -146,10 +146,12 @@ module.exports = WebsocketController =
cursorData.user_id = user_id if user_id?
cursorData.email = email if email?
if first_name? or last_name?
cursorData.name = if !last_name?
first_name
else
cursorData.name = if first_name && last_name
"#{first_name} #{last_name}"
else if first_name
first_name
else if last_name
last_name
ConnectedUsersManager.updateUserPosition(project_id, client.id, {
first_name: first_name,
last_name: last_name,

View file

@ -470,6 +470,47 @@ describe 'WebsocketController', ->
it "should increment the update-client-position metric at 0.1 frequency", ->
@metrics.inc.calledWith("editor.update-client-position", 0.1).should.equal true
describe "with a logged in user who has no first_name set", ->
beforeEach ->
@clientParams = {
project_id: @project_id
first_name: undefined
last_name: @last_name = "Adams"
email: @email = "joe@example.com"
user_id: @user_id = "user-id-123"
}
@client.get = (param, callback) => callback null, @clientParams[param]
@WebsocketController.updateClientPosition @client, @update
@populatedCursorData =
doc_id: @doc_id,
id: @client.id
name: "#{@last_name}"
row: @row
column: @column
email: @email
user_id: @user_id
it "should send the update to the project room with the user's name", ->
@WebsocketLoadBalancer.emitToRoom.calledWith(@project_id, "clientTracking.clientUpdated", @populatedCursorData).should.equal true
it "should send the cursor data to the connected user manager", (done)->
@ConnectedUsersManager.updateUserPosition.calledWith(@project_id, @client.id, {
_id: @user_id,
email: @email,
first_name: undefined,
last_name: @last_name
}, {
row: @row
column: @column
doc_id: @doc_id
}).should.equal true
done()
it "should increment the update-client-position metric at 0.1 frequency", ->
@metrics.inc.calledWith("editor.update-client-position", 0.1).should.equal true
describe "with an anonymous user", ->
beforeEach ->
@clientParams = {