From 7306930b4dbb60caa921b121ab1209592e8360ed Mon Sep 17 00:00:00 2001 From: Sua Yoo Date: Wed, 7 Oct 2020 10:22:19 -0700 Subject: [PATCH] Add WebRTC call mock helper (#37) --- .../__test__/helpers/createWebRTCCall.ts | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 call-center/web-client/__test__/helpers/createWebRTCCall.ts diff --git a/call-center/web-client/__test__/helpers/createWebRTCCall.ts b/call-center/web-client/__test__/helpers/createWebRTCCall.ts new file mode 100644 index 0000000..de73c66 --- /dev/null +++ b/call-center/web-client/__test__/helpers/createWebRTCCall.ts @@ -0,0 +1,91 @@ +import { IWebRTCCall } from '@telnyx/webrtc/lib/Modules/Verto/webrtc/interfaces'; + +const mockCallOptions = { + destinationNumber: 'some_value', + remoteCallerName: 'some_value', + remoteCallerNumber: 'some_value', + callerName: 'some_value', + callerNumber: 'some_value', + id: '', + remoteSdp: '', + localStream: undefined, + remoteStream: undefined, + localElement: undefined, + remoteElement: undefined, + iceServers: undefined, + audio: undefined, + video: undefined, + attach: undefined, + useStereo: undefined, + micId: '', + micLabel: '', + camId: '', + camLabel: '', + speakerId: '', + userVariables: Object, + screenShare: undefined, + onNotification: Function, + googleMaxBitrate: undefined, + googleMinBitrate: undefined, + googleStartBitrate: undefined, + ringtoneFile: '', + ringbackFile: '', +}; + +const mockWebRTCCall: IWebRTCCall = { + id: 'some_value', + state: 'some_value', + prevState: 'some_value', + direction: 'some_value', + options: mockCallOptions, + cause: 'some_value', + causeCode: 0, + channels: ['some_value'], + role: 'some_value', + extension: 'some_value', + localStream: undefined, + remoteStream: undefined, + invite: () => {}, + answer: () => {}, + hangup: (params, execute) => {}, + transfer: (destination) => {}, + replace: (replaceCallID) => {}, + hold: () => {}, + unhold: () => {}, + toggleHold: () => {}, + dtmf: (dtmf) => {}, + message: (to, body) => {}, + muteAudio: () => {}, + unmuteAudio: () => {}, + toggleAudioMute: () => {}, + setAudioInDevice: (deviceId) => Promise.resolve(), + muteVideo: () => {}, + unmuteVideo: () => {}, + toggleVideoMute: () => {}, + setVideoDevice: (deviceId) => Promise.resolve(), + deaf: () => {}, + undeaf: () => {}, + toggleDeaf: () => {}, + setState: (state) => {}, + handleMessage: (msg) => {}, + _addChannel: (laChannel) => {}, + handleConferenceUpdate: (packet, pvtData) => Promise.resolve(''), + startScreenShare: undefined, + stopScreenShare: undefined, + setAudioOutDevice: undefined, + switchCamera: undefined, + setSpeakerPhone: undefined, +}; + +function createMockWebRTCCall(callParams: Partial) { + return { + ...mockWebRTCCall, + ...callParams, + options: { + ...mockCallOptions, + ...callParams.options, + }, + }; +} + +export default createMockWebRTCCall;