@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.
- package/dist/breakouts/breakout.js +7 -3
- package/dist/breakouts/breakout.js.map +1 -1
- package/dist/breakouts/events.js +31 -29
- package/dist/breakouts/events.js.map +1 -1
- package/dist/breakouts/index.js +4 -2
- package/dist/breakouts/index.js.map +1 -1
- package/dist/constants.js +2 -4
- package/dist/constants.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/index.js +33 -17
- package/dist/locus-info/index.js.map +1 -1
- package/dist/meeting/index.js +699 -682
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/util.js +47 -25
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/index.js +48 -7
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +24 -10
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meetings/index.js +12 -9
- package/dist/meetings/index.js.map +1 -1
- package/dist/metrics/index.js +1 -487
- package/dist/metrics/index.js.map +1 -1
- package/dist/reconnection-manager/index.js +27 -17
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/roap/request.js +20 -14
- package/dist/roap/request.js.map +1 -1
- package/dist/types/breakouts/events.d.ts +7 -1
- package/dist/types/constants.d.ts +0 -1
- package/dist/types/meeting/index.d.ts +31 -133
- package/dist/types/meeting-info/index.d.ts +6 -1
- package/dist/types/meetings/index.d.ts +1 -0
- package/dist/types/metrics/index.d.ts +4 -128
- package/package.json +19 -19
- package/src/breakouts/breakout.ts +10 -2
- package/src/breakouts/events.ts +51 -32
- package/src/breakouts/index.ts +9 -5
- package/src/constants.ts +0 -2
- package/src/locus-info/index.ts +35 -17
- package/src/meeting/index.ts +474 -536
- package/src/meeting/util.ts +42 -19
- package/src/meeting-info/index.ts +54 -8
- package/src/meeting-info/meeting-info-v2.ts +24 -9
- package/src/meetings/index.ts +11 -6
- package/src/metrics/index.ts +1 -506
- package/src/reconnection-manager/index.ts +27 -17
- package/src/roap/request.ts +21 -9
- package/test/unit/spec/breakouts/breakout.ts +4 -2
- package/test/unit/spec/breakouts/events.ts +24 -18
- package/test/unit/spec/locus-info/index.js +112 -0
- package/test/unit/spec/meeting/index.js +178 -145
- package/test/unit/spec/meeting/utils.js +93 -7
- package/test/unit/spec/meeting-info/index.js +181 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +68 -68
- package/test/unit/spec/meetings/index.js +35 -55
- package/test/unit/spec/metrics/index.js +1 -148
- package/test/unit/spec/reconnection-manager/index.js +51 -2
- package/test/unit/spec/roap/index.ts +8 -2
- package/test/unit/spec/roap/request.ts +43 -5
- package/dist/metrics/config.js +0 -335
- package/dist/metrics/config.js.map +0 -1
- package/dist/types/metrics/config.d.ts +0 -195
- package/src/metrics/config.ts +0 -534
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import {assert
|
|
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
|
-
|
|
31
|
+
const submitClientEvent = sinon.stub();
|
|
34
32
|
const eventInfo = {currentSession: newSession, meeting: mockMeeting, breakoutMoveId};
|
|
35
|
-
breakoutEvent.postMoveCallAnalyzer(
|
|
36
|
-
assert.calledWithMatch(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
});
|