softphone-vendor-headsets 2.2.0-develop.21 → 2.2.0-develop.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/cjs/src/library/services/headset.d.ts +1 -0
  2. package/dist/cjs/src/library/services/headset.js +5 -2
  3. package/dist/cjs/src/library/services/headset.js.map +1 -1
  4. package/dist/cjs/src/library/services/headset.test.js +7 -3
  5. package/dist/cjs/src/library/services/headset.test.js.map +1 -1
  6. package/dist/cjs/src/library/services/vendor-implementations/yealink/yealink.d.ts +31 -0
  7. package/dist/cjs/src/library/services/vendor-implementations/yealink/yealink.js +311 -0
  8. package/dist/cjs/src/library/services/vendor-implementations/yealink/yealink.js.map +1 -0
  9. package/dist/cjs/src/library/services/vendor-implementations/yealink/yealink.test.d.ts +1 -0
  10. package/dist/cjs/src/library/services/vendor-implementations/yealink/yealink.test.js +444 -0
  11. package/dist/cjs/src/library/services/vendor-implementations/yealink/yealink.test.js.map +1 -0
  12. package/dist/cjs/src/library/types/consumed-headset-events.d.ts +4 -0
  13. package/dist/cjs/src/library/types/device-info.d.ts +13 -0
  14. package/dist/deploy-info.json +38 -2
  15. package/dist/es/src/library/services/headset.d.ts +1 -0
  16. package/dist/es/src/library/services/headset.js +5 -2
  17. package/dist/es/src/library/services/headset.js.map +1 -1
  18. package/dist/es/src/library/services/headset.test.js +7 -3
  19. package/dist/es/src/library/services/headset.test.js.map +1 -1
  20. package/dist/es/src/library/services/vendor-implementations/yealink/yealink.d.ts +31 -0
  21. package/dist/es/src/library/services/vendor-implementations/yealink/yealink.js +308 -0
  22. package/dist/es/src/library/services/vendor-implementations/yealink/yealink.js.map +1 -0
  23. package/dist/es/src/library/services/vendor-implementations/yealink/yealink.test.d.ts +1 -0
  24. package/dist/es/src/library/services/vendor-implementations/yealink/yealink.test.js +439 -0
  25. package/dist/es/src/library/services/vendor-implementations/yealink/yealink.test.js.map +1 -0
  26. package/dist/es/src/library/types/consumed-headset-events.d.ts +4 -0
  27. package/dist/es/src/library/types/device-info.d.ts +13 -0
  28. package/dist/softhphone-vendor-headsets.js +3 -3
  29. package/dist/softhphone-vendor-headsets.js.map +1 -1
  30. package/package.json +1 -2
@@ -0,0 +1,439 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import YealinkService from './yealink';
11
+ const mackTestDevName = 'Test Yealink Dev';
12
+ const mackReportId = 0x02;
13
+ let mackEventReportId = mackReportId;
14
+ const mackDeviceList0 = [];
15
+ const mackDeviceList1 = [{
16
+ open: jest.fn(),
17
+ close: jest.fn(),
18
+ sendReport: jest.fn(),
19
+ addEventListener: jest.fn((name, callback) => {
20
+ callback({
21
+ reportId: mackEventReportId,
22
+ data: {
23
+ getUint8: jest.fn()
24
+ }
25
+ });
26
+ }),
27
+ productName: mackTestDevName,
28
+ collections: [{
29
+ usage: 0x0005,
30
+ usagePage: 0x000B,
31
+ inputReports: [{
32
+ reportId: mackReportId
33
+ }]
34
+ }]
35
+ }];
36
+ const mackDeviceList2 = [{
37
+ open: jest.fn(),
38
+ close: jest.fn(),
39
+ addEventListener: jest.fn((name, callback) => {
40
+ callback({
41
+ reportId: mackEventReportId,
42
+ data: {
43
+ getUint8: jest.fn()
44
+ }
45
+ });
46
+ }),
47
+ productName: mackTestDevName,
48
+ collections: [{
49
+ usage: 0,
50
+ usagePage: 0,
51
+ }]
52
+ }];
53
+ const mackDeviceList3 = [{
54
+ open: jest.fn(),
55
+ close: jest.fn(),
56
+ addEventListener: jest.fn((name, callback) => {
57
+ callback({
58
+ reportId: mackEventReportId,
59
+ data: {
60
+ getUint8: jest.fn()
61
+ }
62
+ });
63
+ }),
64
+ productName: mackTestDevName,
65
+ collections: [{
66
+ usage: 0x0005,
67
+ usagePage: 0x000B,
68
+ inputReports: []
69
+ }]
70
+ }];
71
+ const mackDeviceList4 = [{
72
+ open: jest.fn(),
73
+ close: jest.fn(),
74
+ addEventListener: jest.fn((name, callback) => {
75
+ callback({
76
+ reportId: mackEventReportId,
77
+ data: {
78
+ getUint8: jest.fn()
79
+ }
80
+ });
81
+ }),
82
+ opened: true,
83
+ productName: mackTestDevName,
84
+ collections: [{
85
+ usage: 0x0005,
86
+ usagePage: 0x000B,
87
+ inputReports: []
88
+ }]
89
+ }];
90
+ const mackRecOffhookFlag = 0b1;
91
+ const mackRecHoldFlag = 0b1000;
92
+ const mackRecMuteFlag = 0b100;
93
+ const mackRecReject = 0x40;
94
+ describe('YealinkService', () => {
95
+ let yealinkService;
96
+ let mackDeviceList = mackDeviceList0;
97
+ let mackReqDeviceList = mackDeviceList0;
98
+ Object.defineProperty(window.navigator, 'hid', {
99
+ get: () => ({
100
+ getDevices: () => {
101
+ return mackDeviceList;
102
+ },
103
+ requestDevice: () => {
104
+ mackDeviceList = mackReqDeviceList;
105
+ }
106
+ }),
107
+ });
108
+ beforeEach(() => {
109
+ mackDeviceList = mackDeviceList0;
110
+ mackReqDeviceList = mackDeviceList0;
111
+ yealinkService = YealinkService.getInstance({ logger: console });
112
+ });
113
+ afterEach(() => {
114
+ yealinkService = null;
115
+ jest.restoreAllMocks();
116
+ });
117
+ describe('instantiation', () => {
118
+ it('should be a singleton', () => {
119
+ const yealinkService2 = YealinkService.getInstance({ logger: console });
120
+ expect(yealinkService).not.toBeFalsy();
121
+ expect(yealinkService2).not.toBeFalsy();
122
+ expect(yealinkService).toBe(yealinkService2);
123
+ });
124
+ it('should have the correct vendorName', () => {
125
+ expect(yealinkService.vendorName).toEqual('Yealink');
126
+ });
127
+ });
128
+ describe('isSupported', () => {
129
+ it('should return true if proper values are met', () => {
130
+ expect(yealinkService.isSupported()).toBe(true);
131
+ });
132
+ it('should return false if proper values are not met', () => {
133
+ Object.defineProperty(window, '_HostedContextFunctions', { get: () => true });
134
+ expect(yealinkService.isSupported()).toBe(false);
135
+ });
136
+ });
137
+ describe('deviceLabelMatchesVendor', () => {
138
+ it('deviceLabelMatchesVendor', () => {
139
+ let result;
140
+ result = yealinkService.deviceLabelMatchesVendor('Test Yealink Label');
141
+ expect(result).toBe(true);
142
+ result = yealinkService.deviceLabelMatchesVendor('Test (6993:123) Label');
143
+ expect(result).toBe(true);
144
+ result = yealinkService.deviceLabelMatchesVendor('Something test');
145
+ expect(result).toBe(false);
146
+ });
147
+ });
148
+ describe('connect', () => {
149
+ afterEach(() => {
150
+ yealinkService.disconnect();
151
+ });
152
+ it('should connect with previouslyConnectedDevice', () => __awaiter(void 0, void 0, void 0, function* () {
153
+ const statusChangeSpy = jest.spyOn(yealinkService, 'changeConnectionStatus');
154
+ mackDeviceList = mackDeviceList1;
155
+ yield yealinkService.connect(mackTestDevName);
156
+ const devName = yealinkService.deviceInfo;
157
+ expect(devName.ProductName).toBe(mackTestDevName);
158
+ expect(statusChangeSpy).toHaveBeenCalledWith({ isConnected: true, isConnecting: false });
159
+ }));
160
+ it('already have active device', () => __awaiter(void 0, void 0, void 0, function* () {
161
+ const statusChangeSpy = jest.spyOn(yealinkService, 'changeConnectionStatus');
162
+ mackDeviceList = mackDeviceList1;
163
+ yield yealinkService.connect(mackTestDevName);
164
+ yield yealinkService.connect(mackTestDevName);
165
+ expect(statusChangeSpy).toHaveBeenCalledWith({ isConnected: true, isConnecting: false });
166
+ }));
167
+ it('previouslyConnectedDevice device had opened', () => __awaiter(void 0, void 0, void 0, function* () {
168
+ const statusChangeSpy = jest.spyOn(yealinkService, 'changeConnectionStatus');
169
+ mackDeviceList = mackDeviceList4;
170
+ yield yealinkService.connect(mackTestDevName);
171
+ expect(statusChangeSpy).toHaveBeenCalledWith({ isConnected: true, isConnecting: false });
172
+ }));
173
+ it('device usage not match', () => __awaiter(void 0, void 0, void 0, function* () {
174
+ const statusChangeSpy = jest.spyOn(yealinkService, 'changeConnectionStatus');
175
+ yealinkService.requestWebHidPermissions = jest.fn((callback) => {
176
+ mackReqDeviceList = mackDeviceList0;
177
+ callback();
178
+ });
179
+ mackDeviceList = mackDeviceList2;
180
+ yield yealinkService.connect(mackTestDevName);
181
+ expect(statusChangeSpy).toHaveBeenCalledWith({ isConnected: false, isConnecting: false });
182
+ }));
183
+ it('device inputReports is empty', () => __awaiter(void 0, void 0, void 0, function* () {
184
+ yealinkService.requestWebHidPermissions = jest.fn((callback) => {
185
+ mackReqDeviceList = mackDeviceList0;
186
+ callback();
187
+ });
188
+ mackDeviceList = mackDeviceList3;
189
+ yield yealinkService.connect(mackTestDevName);
190
+ expect(yealinkService.isConnected).toBe(true);
191
+ expect(yealinkService.isConnecting).toBe(false);
192
+ }));
193
+ it('previouslyConnectedDevice not have device', () => __awaiter(void 0, void 0, void 0, function* () {
194
+ const statusChangeSpy = jest.spyOn(yealinkService, 'changeConnectionStatus');
195
+ yealinkService.requestWebHidPermissions = jest.fn((callback) => {
196
+ mackReqDeviceList = mackDeviceList0;
197
+ callback();
198
+ });
199
+ mackDeviceList = mackDeviceList1;
200
+ yield yealinkService.connect('test');
201
+ expect(statusChangeSpy).toHaveBeenCalledWith({ isConnected: false, isConnecting: false });
202
+ }));
203
+ it('connect success, but reportId error', () => __awaiter(void 0, void 0, void 0, function* () {
204
+ const statusChangeSpy = jest.spyOn(yealinkService, 'changeConnectionStatus');
205
+ mackDeviceList = mackDeviceList1;
206
+ mackEventReportId = 0;
207
+ yield yealinkService.connect(mackTestDevName);
208
+ mackEventReportId = mackReportId;
209
+ expect(statusChangeSpy).toHaveBeenCalledWith({ isConnected: true, isConnecting: false });
210
+ }));
211
+ it('webhidRequest, 30s timeout, failed to connect', () => __awaiter(void 0, void 0, void 0, function* () {
212
+ const statusChangeSpy = jest.spyOn(yealinkService, 'changeConnectionStatus');
213
+ jest.useFakeTimers();
214
+ const requestSpy = yealinkService.requestWebHidPermissions = jest.fn(() => {
215
+ jest.advanceTimersByTime(30100);
216
+ });
217
+ yield yealinkService.connect(mackTestDevName);
218
+ expect(requestSpy).toHaveBeenCalled();
219
+ expect(statusChangeSpy).toHaveBeenCalledWith({ isConnected: false, isConnecting: true });
220
+ jest.clearAllTimers();
221
+ jest.useRealTimers();
222
+ }));
223
+ it('webhidRequest, connect success', () => __awaiter(void 0, void 0, void 0, function* () {
224
+ const statusChangeSpy = jest.spyOn(yealinkService, 'changeConnectionStatus');
225
+ const requestSpy = yealinkService.requestWebHidPermissions = jest.fn((callback) => {
226
+ mackReqDeviceList = mackDeviceList1;
227
+ callback();
228
+ });
229
+ yield yealinkService.connect(mackTestDevName);
230
+ expect(requestSpy).toHaveBeenCalled();
231
+ expect(statusChangeSpy).toHaveBeenCalledWith({ isConnected: true, isConnecting: false });
232
+ }));
233
+ it('webhidRequest, connect fail', () => __awaiter(void 0, void 0, void 0, function* () {
234
+ const statusChangeSpy = jest.spyOn(yealinkService, 'changeConnectionStatus');
235
+ const requestSpy = yealinkService.requestWebHidPermissions = jest.fn((callback) => {
236
+ callback();
237
+ });
238
+ yield yealinkService.connect(mackTestDevName);
239
+ expect(requestSpy).toHaveBeenCalled();
240
+ expect(statusChangeSpy).toHaveBeenCalledWith({ isConnected: false, isConnecting: false });
241
+ }));
242
+ it('webhidRequest, connect fail, device name error', () => __awaiter(void 0, void 0, void 0, function* () {
243
+ const statusChangeSpy = jest.spyOn(yealinkService, 'changeConnectionStatus');
244
+ const requestSpy = yealinkService.requestWebHidPermissions = jest.fn((callback) => {
245
+ mackReqDeviceList = mackDeviceList1;
246
+ callback();
247
+ });
248
+ yield yealinkService.connect('test');
249
+ expect(requestSpy).toHaveBeenCalled();
250
+ expect(statusChangeSpy).toHaveBeenCalledWith({ isConnected: false, isConnecting: false });
251
+ }));
252
+ it('webhidRequest, connect fail, device usage error', () => __awaiter(void 0, void 0, void 0, function* () {
253
+ const statusChangeSpy = jest.spyOn(yealinkService, 'changeConnectionStatus');
254
+ const requestSpy = yealinkService.requestWebHidPermissions = jest.fn((callback) => {
255
+ mackReqDeviceList = mackDeviceList2;
256
+ callback();
257
+ });
258
+ yield yealinkService.connect(mackTestDevName);
259
+ expect(requestSpy).toHaveBeenCalled();
260
+ expect(statusChangeSpy).toHaveBeenCalledWith({ isConnected: false, isConnecting: false });
261
+ }));
262
+ it('webhidRequest, device inputReports is empty', () => __awaiter(void 0, void 0, void 0, function* () {
263
+ yealinkService.requestWebHidPermissions = jest.fn((callback) => {
264
+ mackReqDeviceList = mackDeviceList3;
265
+ callback();
266
+ });
267
+ yield yealinkService.connect(mackTestDevName);
268
+ expect(yealinkService.isConnected).toBe(true);
269
+ expect(yealinkService.isConnecting).toBe(false);
270
+ }));
271
+ });
272
+ describe('disconnect', () => {
273
+ it('test disconnect', () => __awaiter(void 0, void 0, void 0, function* () {
274
+ mackDeviceList = mackDeviceList1;
275
+ yealinkService.isConnecting = true;
276
+ yield yealinkService.connect(mackTestDevName);
277
+ yield yealinkService.disconnect();
278
+ expect(yealinkService.isConnecting).toBe(false);
279
+ expect(yealinkService.isConnected).toBe(false);
280
+ }));
281
+ });
282
+ describe('processBtnPress', () => {
283
+ beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
284
+ mackDeviceList = mackDeviceList1;
285
+ yield yealinkService.connect(mackTestDevName);
286
+ }));
287
+ afterEach(() => __awaiter(void 0, void 0, void 0, function* () {
288
+ yealinkService.processBtnPress(0);
289
+ yield yealinkService.endAllCalls();
290
+ yield yealinkService.disconnect();
291
+ }));
292
+ it('activeDevice is null', () => __awaiter(void 0, void 0, void 0, function* () {
293
+ yield yealinkService.disconnect();
294
+ const ansFun = jest.spyOn(yealinkService, 'answerCall');
295
+ yealinkService.processBtnPress(mackRecOffhookFlag);
296
+ expect(ansFun).not.toHaveBeenCalled();
297
+ }));
298
+ it('Not talking, ignore key', () => __awaiter(void 0, void 0, void 0, function* () {
299
+ const ansFun = jest.spyOn(yealinkService, 'answerCall');
300
+ yealinkService.processBtnPress(mackRecOffhookFlag);
301
+ expect(ansFun).not.toHaveBeenCalled();
302
+ }));
303
+ it('test offhook, activeConversationId is empty', () => __awaiter(void 0, void 0, void 0, function* () {
304
+ const ansFun = jest.spyOn(yealinkService, 'answerCall');
305
+ const devAnsFun = jest.spyOn(yealinkService, 'deviceAnsweredCall');
306
+ //creat talk state
307
+ yield yealinkService.setHold('1', true);
308
+ yealinkService.processBtnPress(mackRecOffhookFlag);
309
+ expect(ansFun).toHaveBeenCalled();
310
+ expect(devAnsFun).not.toHaveBeenCalled();
311
+ }));
312
+ it('test offhook, answer success', () => __awaiter(void 0, void 0, void 0, function* () {
313
+ const ansFun = jest.spyOn(yealinkService, 'answerCall');
314
+ const devAnsFun = jest.spyOn(yealinkService, 'deviceAnsweredCall');
315
+ yield yealinkService.outgoingCall({ conversationId: 'id' });
316
+ yealinkService.processBtnPress(mackRecOffhookFlag);
317
+ expect(ansFun).toHaveBeenCalled();
318
+ expect(devAnsFun).toHaveBeenCalled();
319
+ }));
320
+ it('test offhook, mute mode', () => __awaiter(void 0, void 0, void 0, function* () {
321
+ const devEndFun = jest.spyOn(yealinkService, 'deviceEndedCall');
322
+ yield yealinkService.outgoingCall({ conversationId: 'id' });
323
+ yealinkService.processBtnPress(mackRecOffhookFlag);
324
+ yield yealinkService.setMute(true);
325
+ yealinkService.processBtnPress(0);
326
+ yield yealinkService.setMute(false);
327
+ expect(devEndFun).toHaveBeenCalled();
328
+ }));
329
+ it('test mute', () => __awaiter(void 0, void 0, void 0, function* () {
330
+ const setMuteFun = jest.spyOn(yealinkService, 'setMute');
331
+ const devMuteFun = jest.spyOn(yealinkService, 'deviceMuteChanged');
332
+ yield yealinkService.outgoingCall({ conversationId: 'id' });
333
+ yealinkService.processBtnPress(mackRecOffhookFlag);
334
+ yealinkService.processBtnPress(mackRecMuteFlag | mackRecOffhookFlag);
335
+ yealinkService.processBtnPress(mackRecOffhookFlag);
336
+ expect(setMuteFun).toHaveBeenCalledWith(true);
337
+ expect(devMuteFun).toHaveBeenCalledWith({ isMuted: true, name: 'CallMuted', conversationId: 'id' });
338
+ }));
339
+ it('test unmute', () => __awaiter(void 0, void 0, void 0, function* () {
340
+ const devMuteFun = jest.spyOn(yealinkService, 'deviceMuteChanged');
341
+ yield yealinkService.outgoingCall({ conversationId: 'id' });
342
+ yealinkService.processBtnPress(mackRecOffhookFlag);
343
+ yield yealinkService.setMute(true);
344
+ yealinkService.processBtnPress(mackRecMuteFlag | mackRecOffhookFlag);
345
+ expect(devMuteFun).toHaveBeenCalledWith({ isMuted: false, name: 'CallUnmuted', conversationId: 'id' });
346
+ }));
347
+ it('test hold', () => __awaiter(void 0, void 0, void 0, function* () {
348
+ const setHoldFun = jest.spyOn(yealinkService, 'setHold');
349
+ const devHoldFun = jest.spyOn(yealinkService, 'deviceHoldStatusChanged');
350
+ yield yealinkService.outgoingCall({ conversationId: 'id' });
351
+ yealinkService.processBtnPress(mackRecOffhookFlag);
352
+ yealinkService.processBtnPress(mackRecHoldFlag | mackRecOffhookFlag);
353
+ yealinkService.processBtnPress(mackRecOffhookFlag);
354
+ expect(setHoldFun).toHaveBeenCalledWith(null, true);
355
+ expect(devHoldFun).toHaveBeenCalledWith({ holdRequested: true, name: 'OnHold', conversationId: 'id' });
356
+ }));
357
+ it('test resume', () => __awaiter(void 0, void 0, void 0, function* () {
358
+ const devHoldFun = jest.spyOn(yealinkService, 'deviceHoldStatusChanged');
359
+ yield yealinkService.outgoingCall({ conversationId: 'id' });
360
+ yealinkService.processBtnPress(mackRecOffhookFlag);
361
+ yield yealinkService.setHold(null, true);
362
+ yealinkService.processBtnPress(mackRecHoldFlag | mackRecOffhookFlag);
363
+ expect(devHoldFun).toHaveBeenCalledWith({ holdRequested: false, name: 'ResumeCall', conversationId: 'id' });
364
+ }));
365
+ it('test rejectCall', () => __awaiter(void 0, void 0, void 0, function* () {
366
+ const devRejectFun = jest.spyOn(yealinkService, 'deviceRejectedCall');
367
+ const setRejectFun = jest.spyOn(yealinkService, 'rejectCall');
368
+ yield yealinkService.incomingCall({ conversationId: 'id' });
369
+ yealinkService.processBtnPress(mackRecReject);
370
+ expect(devRejectFun).toHaveBeenCalledWith({ name: 'Reject', conversationId: 'id' });
371
+ expect(setRejectFun).toHaveBeenCalled();
372
+ }));
373
+ it('ignore illegal key', () => __awaiter(void 0, void 0, void 0, function* () {
374
+ const ansFun = jest.spyOn(yealinkService, 'answerCall');
375
+ yield yealinkService.outgoingCall({ conversationId: 'id' });
376
+ yealinkService.processBtnPress(0x100);
377
+ expect(ansFun).not.toHaveBeenCalled();
378
+ }));
379
+ });
380
+ describe('option with mute', () => {
381
+ beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
382
+ yealinkService.isMuted = true;
383
+ }));
384
+ afterEach(() => __awaiter(void 0, void 0, void 0, function* () {
385
+ yealinkService.isMuted = false;
386
+ yield yealinkService.endAllCalls();
387
+ }));
388
+ it('incomingCall with mute', () => __awaiter(void 0, void 0, void 0, function* () {
389
+ const devSendFun = yealinkService.sendOpToDevice = jest.fn();
390
+ yield yealinkService.incomingCall({ conversationId: 'id' });
391
+ expect(devSendFun).toHaveBeenCalledWith(0b10 | 0b100);
392
+ }));
393
+ it('answerCall with mute', () => __awaiter(void 0, void 0, void 0, function* () {
394
+ const devSendFun = yealinkService.sendOpToDevice = jest.fn();
395
+ yield yealinkService.answerCall();
396
+ expect(devSendFun).toHaveBeenCalledWith(0b10 | 0b1);
397
+ }));
398
+ it('rejectCall with mute', () => __awaiter(void 0, void 0, void 0, function* () {
399
+ const devSendFun = yealinkService.sendOpToDevice = jest.fn();
400
+ yield yealinkService.rejectCall();
401
+ expect(devSendFun).toHaveBeenCalledWith(0b10);
402
+ }));
403
+ it('endcall with mute', () => __awaiter(void 0, void 0, void 0, function* () {
404
+ const devSendFun = yealinkService.sendOpToDevice = jest.fn();
405
+ yield yealinkService.endCall(null, false);
406
+ expect(devSendFun).toHaveBeenCalledWith(0b10);
407
+ }));
408
+ });
409
+ describe('incomingCall with null', () => {
410
+ it('test incomingCall', () => __awaiter(void 0, void 0, void 0, function* () {
411
+ const devSendFun = yealinkService.sendOpToDevice = jest.fn();
412
+ yield yealinkService.incomingCall(null);
413
+ expect(devSendFun).not.toHaveBeenCalled();
414
+ }));
415
+ });
416
+ describe('end call', () => {
417
+ it('endcall with hasOtherActiveCalls', () => __awaiter(void 0, void 0, void 0, function* () {
418
+ const devSendFun = yealinkService.sendOpToDevice = jest.fn();
419
+ yield yealinkService.endCall(null, true);
420
+ expect(devSendFun).not.toHaveBeenCalled();
421
+ }));
422
+ it('test endcall', () => __awaiter(void 0, void 0, void 0, function* () {
423
+ const devSendFun = yealinkService.sendOpToDevice = jest.fn();
424
+ yield yealinkService.endCall(null, false);
425
+ expect(devSendFun).toHaveBeenCalledWith(0);
426
+ }));
427
+ it('test endcall with conversationId', () => __awaiter(void 0, void 0, void 0, function* () {
428
+ const devSendFun = yealinkService.sendOpToDevice = jest.fn();
429
+ mackDeviceList = mackDeviceList1;
430
+ yield yealinkService.connect(mackTestDevName);
431
+ yield yealinkService.outgoingCall({ conversationId: 'id' });
432
+ yealinkService.processBtnPress(mackRecOffhookFlag);
433
+ yield yealinkService.endCall('id', false);
434
+ yield yealinkService.disconnect();
435
+ expect(devSendFun).toHaveBeenCalledWith(0);
436
+ }));
437
+ });
438
+ });
439
+ //# sourceMappingURL=yealink.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yealink.test.js","sourceRoot":"","sources":["../../../../../../../react-app/src/library/services/vendor-implementations/yealink/yealink.test.ts"],"names":[],"mappings":"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"}
@@ -28,4 +28,8 @@ export declare type ConsumedHeadsetEvents<T = keyof Events> = T extends keyof Ev
28
28
  event: T;
29
29
  payload: Events[T];
30
30
  } : never;
31
+ export interface PartialInputReportEvent {
32
+ reportId: number;
33
+ data: DataView;
34
+ }
31
35
  export {};
@@ -6,3 +6,16 @@ export default interface DeviceInfo {
6
6
  headsetType?: string;
7
7
  attached?: boolean;
8
8
  }
9
+ export interface PartialHIDDevice {
10
+ productName: string;
11
+ collections: PartialDeviceCollections[];
12
+ }
13
+ interface PartialDeviceCollections {
14
+ usage: number;
15
+ usagePage: number;
16
+ inputReports: PartialInputReports[];
17
+ }
18
+ interface PartialInputReports {
19
+ reportId: number;
20
+ }
21
+ export {};