// /* eslint-disable @typescript-eslint/no-explicit-any */ // /* eslint-disable @typescript-eslint/ban-ts-comment */ // import { // TEST_ROOM_ID, // TEST_SHARING_SESSION_ID, // TEST_USER, // } from './mocks/testVars'; // import PeerConnection from '.'; // import RoomIDService from '../../server/RoomIDService'; // import ConnectedDevicesService from '../ConnectedDevicesService'; // import SharingSessionService from '../SharingSessionService'; // import handleSocketUserEnter from './handleSocketUserEnter'; // import DesktopCapturerSourcesService from '../DesktopCapturerSourcesService'; // jest.useFakeTimers(); // jest.mock('simple-peer'); // const TEST_PARTNER_USER = { // username: 'asdfasdf', // publicKey: 'key:asdfasdffff', // }; // const TEST_PAYLOAD = { // users: [TEST_PARTNER_USER], // }; // function initSocketWithListeners(peerConnection: PeerConnection) { // const listeners: any = {}; // peerConnection.socket = ({ // on: (eventName: string, callback: (p: any) => void) => { // if (!listeners[eventName]) { // listeners[eventName] = []; // } // listeners[eventName].push(callback); // }, // emit: (eventName: string, param: any) => { // if (listeners[eventName]) { // listeners[eventName].forEach((callback: (p: any) => void) => { // callback(param); // }); // } // }, // removeAllListeners: () => {}, // } as unknown) as SocketIOClient.Socket; // } // describe('handleSocketUserEnter callback', () => { // let peerConnection: PeerConnection; // beforeEach(() => { // // @ts-ignore // peerConnection = new PeerConnection( // TEST_ROOM_ID, // TEST_SHARING_SESSION_ID, // TEST_USER, // {} as RoomIDService, // {} as ConnectedDevicesService, // {} as SharingSessionService, // {} as DesktopCapturerSourcesService // ); // peerConnection.socket = ({ // on: jest.fn(), // removeAllListeners: jest.fn(), // } as unknown) as SocketIOClient.Socket; // initSocketWithListeners(peerConnection); // }); // afterEach(() => { // jest.clearAllMocks(); // jest.restoreAllMocks(); // }); // describe('when handleSocketUserEnter called properly', () => { // it('should set .partner to partner user', () => { // handleSocketUserEnter(peerConnection, TEST_PAYLOAD); // expect(peerConnection.partner).toBe(TEST_PARTNER_USER); // }); // it('should call toggleLockRoom with true', () => { // peerConnection.toggleLockRoom = jest.fn(); // handleSocketUserEnter(peerConnection, TEST_PAYLOAD); // expect(peerConnection.toggleLockRoom).toBeCalledWith(true); // }); // it('should call emitUserEnter with true', () => { // peerConnection.emitUserEnter = jest.fn(); // handleSocketUserEnter(peerConnection, TEST_PAYLOAD); // expect(peerConnection.emitUserEnter).toBeCalled(); // }); // }); // });