@webex/plugin-meetings 3.0.0-beta.162 → 3.0.0-beta.164

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 (64) hide show
  1. package/dist/breakouts/breakout.js +7 -3
  2. package/dist/breakouts/breakout.js.map +1 -1
  3. package/dist/breakouts/events.js +31 -29
  4. package/dist/breakouts/events.js.map +1 -1
  5. package/dist/breakouts/index.js +4 -2
  6. package/dist/breakouts/index.js.map +1 -1
  7. package/dist/constants.js +2 -4
  8. package/dist/constants.js.map +1 -1
  9. package/dist/interpretation/index.js +1 -1
  10. package/dist/interpretation/siLanguage.js +1 -1
  11. package/dist/locus-info/index.js +33 -17
  12. package/dist/locus-info/index.js.map +1 -1
  13. package/dist/meeting/index.js +699 -682
  14. package/dist/meeting/index.js.map +1 -1
  15. package/dist/meeting/util.js +47 -25
  16. package/dist/meeting/util.js.map +1 -1
  17. package/dist/meeting-info/index.js +48 -7
  18. package/dist/meeting-info/index.js.map +1 -1
  19. package/dist/meeting-info/meeting-info-v2.js +24 -10
  20. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  21. package/dist/meetings/index.js +12 -9
  22. package/dist/meetings/index.js.map +1 -1
  23. package/dist/metrics/index.js +1 -487
  24. package/dist/metrics/index.js.map +1 -1
  25. package/dist/reconnection-manager/index.js +27 -17
  26. package/dist/reconnection-manager/index.js.map +1 -1
  27. package/dist/roap/request.js +20 -14
  28. package/dist/roap/request.js.map +1 -1
  29. package/dist/types/breakouts/events.d.ts +7 -1
  30. package/dist/types/constants.d.ts +0 -1
  31. package/dist/types/meeting/index.d.ts +31 -133
  32. package/dist/types/meeting-info/index.d.ts +6 -1
  33. package/dist/types/meetings/index.d.ts +1 -0
  34. package/dist/types/metrics/index.d.ts +4 -128
  35. package/package.json +19 -19
  36. package/src/breakouts/breakout.ts +10 -2
  37. package/src/breakouts/events.ts +51 -32
  38. package/src/breakouts/index.ts +9 -5
  39. package/src/constants.ts +0 -2
  40. package/src/locus-info/index.ts +35 -17
  41. package/src/meeting/index.ts +474 -536
  42. package/src/meeting/util.ts +42 -19
  43. package/src/meeting-info/index.ts +54 -8
  44. package/src/meeting-info/meeting-info-v2.ts +24 -9
  45. package/src/meetings/index.ts +11 -6
  46. package/src/metrics/index.ts +1 -506
  47. package/src/reconnection-manager/index.ts +27 -17
  48. package/src/roap/request.ts +21 -9
  49. package/test/unit/spec/breakouts/breakout.ts +4 -2
  50. package/test/unit/spec/breakouts/events.ts +24 -18
  51. package/test/unit/spec/locus-info/index.js +112 -0
  52. package/test/unit/spec/meeting/index.js +178 -145
  53. package/test/unit/spec/meeting/utils.js +93 -7
  54. package/test/unit/spec/meeting-info/index.js +181 -0
  55. package/test/unit/spec/meeting-info/meetinginfov2.js +68 -68
  56. package/test/unit/spec/meetings/index.js +35 -55
  57. package/test/unit/spec/metrics/index.js +1 -148
  58. package/test/unit/spec/reconnection-manager/index.js +51 -2
  59. package/test/unit/spec/roap/index.ts +8 -2
  60. package/test/unit/spec/roap/request.ts +43 -5
  61. package/dist/metrics/config.js +0 -335
  62. package/dist/metrics/config.js.map +0 -1
  63. package/dist/types/metrics/config.d.ts +0 -195
  64. package/src/metrics/config.ts +0 -534
@@ -1,8 +1,6 @@
1
- import {assert, expect} from '@webex/test-helper-chai';
1
+ import {assert} from '@webex/test-helper-chai';
2
2
  import MockWebex from '@webex/test-helper-mock-webex';
3
- import Metrics from '@webex/plugin-meetings/src/metrics';
4
3
  import sinon from 'sinon';
5
- import {eventType} from '../../../../src/metrics/config';
6
4
  import breakoutEvent from "../../../../src/breakouts/events";
7
5
 
8
6
  describe('plugin-meetings', () => {
@@ -30,46 +28,54 @@ describe('plugin-meetings', () => {
30
28
  });
31
29
  describe('postMoveCallAnalyzer', () => {
32
30
  it('send metric as expected', () => {
33
- Metrics.postEvent = sinon.stub();
31
+ const submitClientEvent = sinon.stub();
34
32
  const eventInfo = {currentSession: newSession, meeting: mockMeeting, breakoutMoveId};
35
- breakoutEvent.postMoveCallAnalyzer(eventType.BREAKOUT_JOIN_RESPONSE, eventInfo);
36
- assert.calledWithMatch(Metrics.postEvent, {
37
- event: eventType.BREAKOUT_JOIN_RESPONSE,
38
- meetingId: 'activeMeetingId',
39
- data: {
40
- breakoutMoveId: 'breakoutMoveId',
41
- breakoutSessionId: 'sessionId',
42
- breakoutGroupId: 'groupId',
33
+ breakoutEvent.postMoveCallAnalyzer('client.breakout-session.join.response', eventInfo, submitClientEvent);
34
+ assert.calledWithMatch(submitClientEvent, {
35
+ name: 'client.breakout-session.join.response',
36
+ payload: {
37
+ identifiers: {
38
+ breakoutMoveId: 'breakoutMoveId',
39
+ breakoutSessionId: 'sessionId',
40
+ breakoutGroupId: 'groupId',
41
+ },
43
42
  },
43
+ options: {meetingId: 'activeMeetingId'},
44
44
  });
45
45
  });
46
46
  });
47
47
 
48
48
  describe('onBreakoutMoveRequest', () => {
49
49
  it('send metric as expected', () => {
50
+ const submitClientEvent = sinon.stub();
51
+
50
52
  breakoutEvent.postMoveCallAnalyzer = sinon.stub();
51
53
  const eventInfo = {newSession, mockMeeting, breakoutMoveId};
52
- breakoutEvent.onBreakoutMoveRequest(eventInfo);
53
- assert.calledWithMatch(breakoutEvent.postMoveCallAnalyzer, eventType.BREAKOUT_MOVE_REQUEST, eventInfo);
54
+ breakoutEvent.onBreakoutMoveRequest(eventInfo, submitClientEvent);
55
+ assert.calledWith(breakoutEvent.postMoveCallAnalyzer, 'client.breakout-session.move.request', eventInfo, submitClientEvent);
54
56
 
55
57
  });
56
58
  });
57
59
 
58
60
  describe('onBreakoutMoveResponse', () => {
59
61
  it('send metric as expected', () => {
62
+ const submitClientEvent = sinon.stub();
63
+
60
64
  breakoutEvent.postMoveCallAnalyzer = sinon.stub();
61
65
  const eventInfo = {newSession, mockMeeting, breakoutMoveId};
62
- breakoutEvent.onBreakoutMoveResponse(eventInfo);
63
- assert.calledWithMatch(breakoutEvent.postMoveCallAnalyzer, eventType.BREAKOUT_MOVE_RESPONSE, eventInfo);
66
+ breakoutEvent.onBreakoutMoveResponse(eventInfo, submitClientEvent);
67
+ assert.calledWith(breakoutEvent.postMoveCallAnalyzer, 'client.breakout-session.move.response', eventInfo, submitClientEvent);
64
68
  });
65
69
  });
66
70
 
67
71
  describe('onBreakoutJoinResponse', () => {
68
72
  it('send metric as expected', () => {
73
+ const submitClientEvent = sinon.stub();
74
+
69
75
  breakoutEvent.postMoveCallAnalyzer = sinon.stub();
70
76
  const eventInfo = {newSession, mockMeeting, breakoutMoveId};
71
- breakoutEvent.onBreakoutJoinResponse(eventInfo);
72
- assert.calledWithMatch(breakoutEvent.postMoveCallAnalyzer, eventType.BREAKOUT_JOIN_RESPONSE, eventInfo);
77
+ breakoutEvent.onBreakoutJoinResponse(eventInfo, submitClientEvent);
78
+ assert.calledWith(breakoutEvent.postMoveCallAnalyzer, 'client.breakout-session.join.response', eventInfo, submitClientEvent);
73
79
  });
74
80
  });
75
81
 
@@ -16,6 +16,10 @@ import {
16
16
  LOCUSEVENT,
17
17
  EVENTS,
18
18
  DISPLAY_HINTS,
19
+ _CALL_,
20
+ LOCUS,
21
+ MEETING_STATE,
22
+ _MEETING_,
19
23
  } from '../../../../src/constants';
20
24
 
21
25
  import { self, selfWithInactivity } from "./selfConstant";
@@ -1944,5 +1948,113 @@ describe('plugin-meetings', () => {
1944
1948
  );
1945
1949
  });
1946
1950
  });
1951
+
1952
+ describe('#isMeetingActive', () => {
1953
+ it('sends client event correctly for state = inactive', () => {
1954
+ locusInfo.parsedLocus = {
1955
+ fullState: {
1956
+ type: _CALL_,
1957
+ },
1958
+ };
1959
+
1960
+ locusInfo.fullState = {
1961
+ state: LOCUS.STATE.INACTIVE,
1962
+ };
1963
+
1964
+ locusInfo.isMeetingActive();
1965
+
1966
+ assert.calledWith(webex.internal.newMetrics.submitClientEvent, {
1967
+ name: 'client.call.remote-ended',
1968
+ options: {
1969
+ meetingId: locusInfo.meetingId,
1970
+ },
1971
+ });
1972
+ });
1973
+
1974
+ it('sends client event correctly for state = PARTNER_LEFT', () => {
1975
+ locusInfo.getLocusPartner = sinon.stub().returns({state: MEETING_STATE.STATES.LEFT})
1976
+ locusInfo.parsedLocus = {
1977
+ fullState: {
1978
+ type: _CALL_,
1979
+ },
1980
+ self: {
1981
+ state: MEETING_STATE.STATES.DECLINED,
1982
+ },
1983
+ };
1984
+ locusInfo.isMeetingActive();
1985
+
1986
+ assert.calledWith(webex.internal.newMetrics.submitClientEvent, {
1987
+ name: 'client.call.remote-ended',
1988
+ options: {
1989
+ meetingId: locusInfo.meetingId,
1990
+ },
1991
+ });
1992
+ });
1993
+
1994
+ it('sends client event correctly for state = SELF_LEFT', () => {
1995
+ locusInfo.getLocusPartner = sinon.stub().returns({state: MEETING_STATE.STATES.LEFT})
1996
+ locusInfo.parsedLocus = {
1997
+ fullState: {
1998
+ type: _CALL_,
1999
+ },
2000
+ self: {
2001
+ state: MEETING_STATE.STATES.LEFT,
2002
+ },
2003
+ };
2004
+
2005
+ locusInfo.isMeetingActive();
2006
+
2007
+ assert.calledWith(webex.internal.newMetrics.submitClientEvent, {
2008
+ name: 'client.call.remote-ended',
2009
+ options: {
2010
+ meetingId: locusInfo.meetingId,
2011
+ },
2012
+ });
2013
+ });
2014
+
2015
+ it('sends client event correctly for state = MEETING_INACTIVE_TERMINATING', () => {
2016
+ locusInfo.getLocusPartner = sinon.stub().returns({state: MEETING_STATE.STATES.LEFT})
2017
+ locusInfo.parsedLocus = {
2018
+ fullState: {
2019
+ type: _MEETING_,
2020
+ },
2021
+ };
2022
+
2023
+ locusInfo.fullState = {
2024
+ state: LOCUS.STATE.INACTIVE,
2025
+ };
2026
+
2027
+ locusInfo.isMeetingActive();
2028
+
2029
+ assert.calledWith(webex.internal.newMetrics.submitClientEvent, {
2030
+ name: 'client.call.remote-ended',
2031
+ options: {
2032
+ meetingId: locusInfo.meetingId,
2033
+ },
2034
+ });
2035
+ });
2036
+
2037
+ it('sends client event correctly for state = FULLSTATE_REMOVED', () => {
2038
+ locusInfo.getLocusPartner = sinon.stub().returns({state: MEETING_STATE.STATES.LEFT})
2039
+ locusInfo.parsedLocus = {
2040
+ fullState: {
2041
+ type: _MEETING_,
2042
+ },
2043
+ };
2044
+
2045
+ locusInfo.fullState = {
2046
+ removed: true
2047
+ };
2048
+
2049
+ locusInfo.isMeetingActive();
2050
+
2051
+ assert.calledWith(webex.internal.newMetrics.submitClientEvent, {
2052
+ name: 'client.call.remote-ended',
2053
+ options: {
2054
+ meetingId: locusInfo.meetingId,
2055
+ },
2056
+ });
2057
+ });
2058
+ });
1947
2059
  });
1948
2060
  });