@webex/internal-plugin-metrics 3.8.0-web-workers-keepalive.1 → 3.8.1-next.1

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.
@@ -264,19 +264,43 @@ describe('internal-plugin-metrics', () => {
264
264
  describe('#setDelaySubmitClientEvents', () => {
265
265
  it('sets delaySubmitClientEvents correctly and calls submitDelayedClientEvents when set to false', () => {
266
266
  sinon.assert.match(webex.internal.newMetrics.delaySubmitClientEvents, false);
267
+ sinon.assert.match(webex.internal.newMetrics.delayedClientEventsOverrides, {});
267
268
 
268
- webex.internal.newMetrics.setDelaySubmitClientEvents(true);
269
+ webex.internal.newMetrics.setDelaySubmitClientEvents({shouldDelay: true});
269
270
 
270
271
  assert.notCalled(webex.internal.newMetrics.callDiagnosticMetrics.submitDelayedClientEvents);
271
272
 
272
273
  sinon.assert.match(webex.internal.newMetrics.delaySubmitClientEvents, true);
274
+ sinon.assert.match(webex.internal.newMetrics.delayedClientEventsOverrides, {});
273
275
 
274
- webex.internal.newMetrics.setDelaySubmitClientEvents(false);
276
+ webex.internal.newMetrics.setDelaySubmitClientEvents({shouldDelay: false, overrides: {foo: 'bar'}});
275
277
 
276
278
  assert.calledOnce(webex.internal.newMetrics.callDiagnosticMetrics.submitDelayedClientEvents);
277
- assert.calledWith(webex.internal.newMetrics.callDiagnosticMetrics.submitDelayedClientEvents);
279
+ assert.calledWith(webex.internal.newMetrics.callDiagnosticMetrics.submitDelayedClientEvents, {foo: 'bar'});
278
280
 
279
281
  sinon.assert.match(webex.internal.newMetrics.delaySubmitClientEvents, false);
282
+ sinon.assert.match(webex.internal.newMetrics.delayedClientEventsOverrides, {foo: 'bar'});
283
+ });
284
+
285
+ it('should not fail when called before webex is ready', () => {
286
+
287
+ // Create mock
288
+ webex = mockWebex()
289
+
290
+ webex.internal.newMetrics.callDiagnosticLatencies.saveTimestamp = sinon.stub();
291
+ webex.internal.newMetrics.callDiagnosticLatencies.clearTimestamps = sinon.stub();
292
+ webex.setTimingsAndFetch = sinon.stub();
293
+
294
+ sinon.assert.match(webex.internal.newMetrics.delaySubmitClientEvents, false);
295
+
296
+ // Call the method before webex is ready, will not throw error
297
+ webex.internal.newMetrics.setDelaySubmitClientEvents({shouldDelay: false});
298
+ webex.internal.newMetrics.setDelaySubmitClientEvents({shouldDelay: true});
299
+
300
+ webex.internal.newMetrics.setDelaySubmitClientEvents({shouldDelay: false});
301
+ // Webex is ready
302
+ webex.emit('ready');
303
+
280
304
  });
281
305
  });
282
306
  });