1
0
mirror of https://github.com/pavlobu/deskreen.git synced 2025-05-18 08:20:10 -07:00
deskreen/app/features/PeerConnection/handleCreatePeer.spec.ts
2022-05-31 23:39:05 +02:00

144 lines
4.5 KiB
TypeScript

// /* 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 handleCreatePeer from './handleCreatePeer';
// import createDesktopCapturerStream from './createDesktopCapturerStream';
// import NullSimplePeer from './NullSimplePeer';
// import handlePeerOnData from './handlePeerOnData';
// import DesktopCapturerSourcesService from '../DesktopCapturerSourcesService';
// jest.useFakeTimers();
// jest.mock('simple-peer');
// jest.mock('./createDesktopCapturerStream', () => {
// return jest.fn();
// });
// jest.mock('./handlePeerOnData');
// const TEST_MOCK_LOCAL_STREAM = ({} as unknown) as MediaStream;
// function initPeerWithListeners(peerConnection: PeerConnection) {
// const listeners: any = {};
// peerConnection.peer = ({
// 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);
// });
// }
// },
// } as unknown) as typeof NullSimplePeer;
// }
// describe('handleCreatePeer callback', () => {
// let peerConnection: PeerConnection;
// beforeEach(() => {
// // @ts-ignore
// createDesktopCapturerStream.mockImplementation(() => {
// return new Promise((resolve) => resolve(TEST_MOCK_LOCAL_STREAM));
// });
// peerConnection = new PeerConnection(
// TEST_ROOM_ID,
// TEST_SHARING_SESSION_ID,
// TEST_USER,
// {} as RoomIDService,
// {} as ConnectedDevicesService,
// {} as SharingSessionService,
// {} as DesktopCapturerSourcesService
// );
// });
// afterEach(() => {
// jest.clearAllMocks();
// jest.restoreAllMocks();
// });
// describe('when handleCreatePeer called properly', () => {
// it('should call createDesktopCapturerStream', async () => {
// await handleCreatePeer(peerConnection);
// expect(createDesktopCapturerStream).toBeCalled();
// });
// it('should make .peer defined', async () => {
// await handleCreatePeer(peerConnection);
// expect(peerConnection.peer).not.toEqual(NullSimplePeer);
// });
// it('should add localStream to peer with addStream', async () => {
// peerConnection.localStream = TEST_MOCK_LOCAL_STREAM;
// await handleCreatePeer(peerConnection);
// expect(peerConnection.peer.addStream).toBeCalledWith(
// TEST_MOCK_LOCAL_STREAM
// );
// });
// it('should set .peer.on(signal event listner', async () => {
// await handleCreatePeer(peerConnection);
// expect(peerConnection.peer.on).toBeCalledWith(
// 'signal',
// expect.anything()
// );
// });
// it('should set .peer.on(data event listner', async () => {
// await handleCreatePeer(peerConnection);
// expect(peerConnection.peer.on).toBeCalledWith('data', expect.anything());
// });
// it('should resolve with undefined', async () => {
// const res = await handleCreatePeer(peerConnection);
// expect(res).toBe(undefined);
// });
// describe('when peer on "signal" even occured', () => {
// it('should add signal to .signalsDataToCallUser', async () => {
// const TEST_SIGNAL_DATA = '1234';
// initPeerWithListeners(peerConnection);
// await handleCreatePeer(peerConnection);
// peerConnection.peer.emit('signal', TEST_SIGNAL_DATA);
// expect(peerConnection.signalsDataToCallUser).toEqual([
// TEST_SIGNAL_DATA,
// ]);
// });
// });
// describe('when peer on "data" even occured', () => {
// it('should add signal to .signalsDataToCallUser', async () => {
// const TEST_DATA = 'asdfasdfasdf';
// initPeerWithListeners(peerConnection);
// await handleCreatePeer(peerConnection);
// peerConnection.peer.emit('data', TEST_DATA);
// expect(handlePeerOnData).toBeCalled();
// });
// });
// });
// });