diff --git a/backend/src/realtime/realtime-note/realtime-connection.spec.ts b/backend/src/realtime/realtime-note/realtime-connection.spec.ts index 4146212f7..b850f577f 100644 --- a/backend/src/realtime/realtime-note/realtime-connection.spec.ts +++ b/backend/src/realtime/realtime-note/realtime-connection.spec.ts @@ -36,9 +36,15 @@ describe('websocket connection', () => { let mockedUser: User; let mockedMessageTransporter: MessageTransporter; + const mockedUserName = 'mockedUserName'; + const mockedDisplayName = 'mockedDisplayName'; + beforeEach(() => { mockedRealtimeNote = new RealtimeNote(Mock.of({}), ''); - mockedUser = Mock.of({}); + mockedUser = Mock.of({ + username: mockedUserName, + displayName: mockedDisplayName, + }); mockedMessageTransporter = new MockedBackendMessageTransporter(''); }); @@ -72,10 +78,15 @@ describe('websocket connection', () => { 'returns the correct realtime user status with acceptEdits %s', (acceptEdits) => { const realtimeUserStatus = Mock.of(); + let usedConnection: RealtimeConnection | undefined = undefined; + jest .spyOn(RealtimeUserStatusModule, 'RealtimeUserStatusAdapter') .mockImplementation( (username, displayName, connection, acceptCursorUpdateProvider) => { + expect(username).toBe(mockedUserName); + expect(displayName).toBe(mockedDisplayName); + usedConnection = connection; expect(acceptCursorUpdateProvider()).toBe(acceptEdits); return realtimeUserStatus; }, @@ -88,6 +99,7 @@ describe('websocket connection', () => { acceptEdits, ); + expect(usedConnection).toBe(sut); expect(sut.getRealtimeUserStateAdapter()).toBe(realtimeUserStatus); }, ); @@ -99,7 +111,9 @@ describe('websocket connection', () => { jest .spyOn(HedgeDocCommonsModule, 'YDocSyncServerAdapter') .mockImplementation((messageTransporter, doc, acceptEditsProvider) => { + expect(messageTransporter).toBe(mockedMessageTransporter); expect(acceptEditsProvider()).toBe(acceptEdits); + expect(doc).toBe(mockedRealtimeNote.getRealtimeDoc()); return yDocSyncServerAdapter; }); @@ -153,13 +167,15 @@ describe('websocket connection', () => { expect(sut.getDisplayName()).toBe('MockUser'); }); - it('returns a fallback if no username has been set', () => { + it('returns a random fallback display name if the provided user has no display name', () => { const randomName = 'I am a random name'; jest .spyOn(NameRandomizerModule, 'generateRandomName') .mockReturnValue(randomName); + mockedUser = Mock.of({}); + const sut = new RealtimeConnection( mockedMessageTransporter, mockedUser,