@webex/plugin-meetings 3.0.0-beta.58 → 3.0.0-beta.59
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 +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/constants.js +2 -0
- package/dist/constants.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +6 -0
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +1 -0
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/util.js +3 -0
- package/dist/meeting/util.js.map +1 -1
- package/dist/member/index.js +23 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +15 -0
- package/dist/member/types.js.map +1 -0
- package/dist/member/util.js +61 -2
- package/dist/member/util.js.map +1 -1
- package/dist/members/index.js +21 -0
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +19 -0
- package/dist/members/request.js.map +1 -1
- package/dist/members/types.js +15 -0
- package/dist/members/types.js.map +1 -0
- package/dist/members/util.js +38 -0
- package/dist/members/util.js.map +1 -1
- package/dist/types/constants.d.ts +2 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +6 -0
- package/dist/types/member/index.d.ts +10 -0
- package/dist/types/member/types.d.ts +21 -0
- package/dist/types/members/index.d.ts +10 -0
- package/dist/types/members/request.d.ts +8 -0
- package/dist/types/members/types.d.ts +24 -0
- package/package.json +18 -18
- package/src/constants.ts +2 -0
- package/src/meeting/in-meeting-actions.ts +12 -0
- package/src/meeting/index.ts +3 -0
- package/src/meeting/util.ts +3 -0
- package/src/member/index.ts +22 -0
- package/src/member/types.ts +24 -0
- package/src/member/util.ts +53 -0
- package/src/members/index.ts +27 -0
- package/src/members/request.ts +20 -0
- package/src/members/types.ts +28 -0
- package/src/members/util.ts +39 -1
- package/test/unit/spec/meeting/in-meeting-actions.ts +6 -0
- package/test/unit/spec/meeting/utils.js +1 -0
- package/test/unit/spec/member/index.js +24 -0
- package/test/unit/spec/member/util.js +336 -33
- package/test/unit/spec/members/index.js +77 -0
- package/test/unit/spec/members/request.js +21 -0
- package/test/unit/spec/members/utils.js +28 -0
|
@@ -1,53 +1,356 @@
|
|
|
1
1
|
import {assert} from '@webex/test-helper-chai';
|
|
2
2
|
import MemberUtil from '@webex/plugin-meetings/src/member/util';
|
|
3
|
+
import { ServerRoles } from '../../../../src/member/types';
|
|
3
4
|
|
|
4
|
-
describe('
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
describe('plugin-meetings', () => {
|
|
6
|
+
describe('isHandRaised', () => {
|
|
7
|
+
it('throws error when there is no participant', () => {
|
|
8
|
+
assert.throws(() => {
|
|
9
|
+
MemberUtil.isHandRaised();
|
|
10
|
+
}, 'Raise hand could not be processed, participant is undefined.');
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
it('returns false when controls is not there', () => {
|
|
14
|
+
const participant = {};
|
|
15
|
+
|
|
16
|
+
assert.isFalse(MemberUtil.isHandRaised(participant));
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
it('returns false when hand is not there in controls', () => {
|
|
20
|
+
const participant = {
|
|
21
|
+
controls: {},
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
assert.isFalse(MemberUtil.isHandRaised(participant));
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
it('returns true when hand raised is true', () => {
|
|
28
|
+
const participant = {
|
|
29
|
+
controls: {
|
|
30
|
+
hand: {
|
|
31
|
+
raised: true,
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
assert.isTrue(MemberUtil.isHandRaised(participant));
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
it('returns false when hand raised is false', () => {
|
|
40
|
+
const participant = {
|
|
41
|
+
controls: {
|
|
42
|
+
hand: {
|
|
43
|
+
raised: false,
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
assert.isFalse(MemberUtil.isHandRaised(participant));
|
|
49
|
+
});
|
|
9
50
|
});
|
|
10
51
|
|
|
11
|
-
|
|
12
|
-
|
|
52
|
+
describe('MemberUtil.extractControlRoles', () => {
|
|
53
|
+
it('happy path extract control roles', () => {
|
|
54
|
+
const participant = {
|
|
55
|
+
controls: {
|
|
56
|
+
role: {
|
|
57
|
+
roles: [
|
|
58
|
+
{type: 'PRESENTER', hasRole: true},
|
|
59
|
+
{type: 'COHOST', hasRole: true},
|
|
60
|
+
{type: 'MODERATOR', hasRole: true},
|
|
61
|
+
]
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
13
65
|
|
|
14
|
-
|
|
66
|
+
assert.deepEqual(MemberUtil.extractControlRoles(participant), {cohost: true, moderator: true, presenter: true});
|
|
67
|
+
});
|
|
15
68
|
});
|
|
16
69
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
70
|
+
describe('MemberUtil.getControlsRoles', () => {
|
|
71
|
+
it('getControlsRoles', () => {
|
|
72
|
+
const participant = {
|
|
73
|
+
controls: {
|
|
74
|
+
role: {
|
|
75
|
+
roles: [
|
|
76
|
+
{type: 'PRESENTER', hasRole: true},
|
|
77
|
+
]
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
21
81
|
|
|
22
|
-
|
|
82
|
+
assert.deepEqual(MemberUtil.getControlsRoles(participant), [{type: 'PRESENTER', hasRole: true}]);
|
|
83
|
+
});
|
|
23
84
|
});
|
|
24
85
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
86
|
+
describe('MemberUtil.hasRole', () => {
|
|
87
|
+
describe('PRESENTER', () => {
|
|
88
|
+
it('getControlsRoles PRESENTER true', () => {
|
|
89
|
+
const participant = {
|
|
90
|
+
controls: {
|
|
91
|
+
role: {
|
|
92
|
+
roles: [
|
|
93
|
+
{type: 'PRESENTER', hasRole: true},
|
|
94
|
+
]
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
assert.isTrue(MemberUtil.hasRole(participant, ServerRoles.Presenter));
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
it('getControlsRoles PRESENTER false', () => {
|
|
103
|
+
const participant = {
|
|
104
|
+
controls: {
|
|
105
|
+
role: {
|
|
106
|
+
roles: [
|
|
107
|
+
{type: 'PRESENTER', hasRole: false},
|
|
108
|
+
]
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
assert.isFalse(MemberUtil.hasRole(participant, ServerRoles.Presenter));
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
it('getControlsRoles PRESENTER undefined', () => {
|
|
117
|
+
const participant = {
|
|
118
|
+
controls: {
|
|
119
|
+
role: {
|
|
120
|
+
roles: [
|
|
121
|
+
{},
|
|
122
|
+
]
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
assert.isFalse(MemberUtil.hasRole(participant, ServerRoles.Presenter));
|
|
128
|
+
});
|
|
129
|
+
})
|
|
130
|
+
|
|
131
|
+
describe('MODERATOR', () => {
|
|
132
|
+
it('getControlsRoles MODERATOR true', () => {
|
|
133
|
+
const participant = {
|
|
134
|
+
controls: {
|
|
135
|
+
role: {
|
|
136
|
+
roles: [
|
|
137
|
+
{type: 'MODERATOR', hasRole: true},
|
|
138
|
+
]
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
assert.isTrue(MemberUtil.hasRole(participant, ServerRoles.Moderator));
|
|
144
|
+
});
|
|
33
145
|
|
|
34
|
-
|
|
146
|
+
it('getControlsRoles MODERATOR false', () => {
|
|
147
|
+
const participant = {
|
|
148
|
+
controls: {
|
|
149
|
+
role: {
|
|
150
|
+
roles: [
|
|
151
|
+
{type: 'MODERATOR', hasRole: false},
|
|
152
|
+
]
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
assert.isFalse(MemberUtil.hasRole(participant, ServerRoles.Moderator));
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
it('getControlsRoles MODERATOR undefined', () => {
|
|
161
|
+
const participant = {
|
|
162
|
+
controls: {
|
|
163
|
+
role: {
|
|
164
|
+
roles: [
|
|
165
|
+
{},
|
|
166
|
+
]
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
assert.isFalse(MemberUtil.hasRole(participant, ServerRoles.Moderator));
|
|
172
|
+
});
|
|
173
|
+
})
|
|
174
|
+
|
|
175
|
+
describe('COHOST', () => {
|
|
176
|
+
it('getControlsRoles COHOST true', () => {
|
|
177
|
+
const participant = {
|
|
178
|
+
controls: {
|
|
179
|
+
role: {
|
|
180
|
+
roles: [
|
|
181
|
+
{type: 'COHOST', hasRole: true},
|
|
182
|
+
]
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
assert.isTrue(MemberUtil.hasRole(participant, ServerRoles.Cohost));
|
|
188
|
+
});
|
|
189
|
+
|
|
190
|
+
it('getControlsRoles COHOST false', () => {
|
|
191
|
+
const participant = {
|
|
192
|
+
controls: {
|
|
193
|
+
role: {
|
|
194
|
+
roles: [
|
|
195
|
+
{type: 'COHOST', hasRole: false},
|
|
196
|
+
]
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
assert.isFalse(MemberUtil.hasRole(participant, ServerRoles.Cohost));
|
|
202
|
+
});
|
|
203
|
+
|
|
204
|
+
it('getControlsRoles COHOST undefined', () => {
|
|
205
|
+
const participant = {
|
|
206
|
+
controls: {
|
|
207
|
+
role: {
|
|
208
|
+
roles: [
|
|
209
|
+
{},
|
|
210
|
+
]
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
assert.isFalse(MemberUtil.hasRole(participant, ServerRoles.Cohost));
|
|
216
|
+
});
|
|
217
|
+
})
|
|
35
218
|
});
|
|
36
219
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
220
|
+
describe('MemberUtil.is<Role>', () => {
|
|
221
|
+
describe('PRESENTER', () => {
|
|
222
|
+
it('getControlsRoles PRESENTER true', () => {
|
|
223
|
+
const participant = {
|
|
224
|
+
controls: {
|
|
225
|
+
role: {
|
|
226
|
+
roles: [
|
|
227
|
+
{type: 'PRESENTER', hasRole: true},
|
|
228
|
+
]
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
assert.isTrue(MemberUtil.hasPresenter(participant, ServerRoles.Presenter));
|
|
234
|
+
});
|
|
45
235
|
|
|
46
|
-
|
|
236
|
+
it('getControlsRoles PRESENTER false', () => {
|
|
237
|
+
const participant = {
|
|
238
|
+
controls: {
|
|
239
|
+
role: {
|
|
240
|
+
roles: [
|
|
241
|
+
{type: 'PRESENTER', hasRole: false},
|
|
242
|
+
]
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
assert.isFalse(MemberUtil.hasPresenter(participant));
|
|
248
|
+
});
|
|
249
|
+
|
|
250
|
+
it('getControlsRoles PRESENTER undefined', () => {
|
|
251
|
+
const participant = {
|
|
252
|
+
controls: {
|
|
253
|
+
role: {
|
|
254
|
+
roles: [
|
|
255
|
+
{},
|
|
256
|
+
]
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
assert.isFalse(MemberUtil.hasPresenter(participant));
|
|
262
|
+
});
|
|
263
|
+
})
|
|
264
|
+
|
|
265
|
+
describe('MODERATOR', () => {
|
|
266
|
+
it('getControlsRoles MODERATOR true', () => {
|
|
267
|
+
const participant = {
|
|
268
|
+
controls: {
|
|
269
|
+
role: {
|
|
270
|
+
roles: [
|
|
271
|
+
{type: 'MODERATOR', hasRole: true},
|
|
272
|
+
]
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
assert.isTrue(MemberUtil.hasModerator(participant));
|
|
278
|
+
});
|
|
279
|
+
|
|
280
|
+
it('getControlsRoles MODERATOR false', () => {
|
|
281
|
+
const participant = {
|
|
282
|
+
controls: {
|
|
283
|
+
role: {
|
|
284
|
+
roles: [
|
|
285
|
+
{type: 'MODERATOR', hasRole: false},
|
|
286
|
+
]
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
assert.isFalse(MemberUtil.hasModerator(participant));
|
|
292
|
+
});
|
|
293
|
+
|
|
294
|
+
it('getControlsRoles MODERATOR undefined', () => {
|
|
295
|
+
const participant = {
|
|
296
|
+
controls: {
|
|
297
|
+
role: {
|
|
298
|
+
roles: [
|
|
299
|
+
{},
|
|
300
|
+
]
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
assert.isFalse(MemberUtil.hasModerator(participant));
|
|
306
|
+
});
|
|
307
|
+
})
|
|
308
|
+
|
|
309
|
+
describe('COHOST', () => {
|
|
310
|
+
it('getControlsRoles COHOST true', () => {
|
|
311
|
+
const participant = {
|
|
312
|
+
controls: {
|
|
313
|
+
role: {
|
|
314
|
+
roles: [
|
|
315
|
+
{type: 'COHOST', hasRole: true},
|
|
316
|
+
]
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
assert.isTrue(MemberUtil.hasCohost(participant));
|
|
322
|
+
});
|
|
323
|
+
|
|
324
|
+
it('getControlsRoles COHOST false', () => {
|
|
325
|
+
const participant = {
|
|
326
|
+
controls: {
|
|
327
|
+
role: {
|
|
328
|
+
roles: [
|
|
329
|
+
{type: 'COHOST', hasRole: false},
|
|
330
|
+
]
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
assert.isFalse(MemberUtil.hasCohost(participant));
|
|
336
|
+
});
|
|
337
|
+
|
|
338
|
+
it('getControlsRoles COHOST undefined', () => {
|
|
339
|
+
const participant = {
|
|
340
|
+
controls: {
|
|
341
|
+
role: {
|
|
342
|
+
roles: [
|
|
343
|
+
{},
|
|
344
|
+
]
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
assert.isFalse(MemberUtil.hasCohost(participant));
|
|
350
|
+
});
|
|
351
|
+
})
|
|
47
352
|
});
|
|
48
|
-
});
|
|
49
353
|
|
|
50
|
-
describe('plugin-meetings', () => {
|
|
51
354
|
describe('MemberUtil.isBreakoutsSupported', () => {
|
|
52
355
|
it('throws error when there is no participant', () => {
|
|
53
356
|
assert.throws(() => {
|
|
@@ -266,6 +266,83 @@ describe('plugin-meetings', () => {
|
|
|
266
266
|
});
|
|
267
267
|
});
|
|
268
268
|
|
|
269
|
+
describe('#assignRoles', () => {
|
|
270
|
+
const setup = (locusUrl) => {
|
|
271
|
+
const members = createMembers({url: locusUrl});
|
|
272
|
+
|
|
273
|
+
const spies = {
|
|
274
|
+
generateRoleAssignmentMemberOptions: sandbox.spy(
|
|
275
|
+
MembersUtil,
|
|
276
|
+
'generateRoleAssignmentMemberOptions'
|
|
277
|
+
),
|
|
278
|
+
assignRolesMember: sandbox.spy(members.membersRequest, 'assignRolesMember'),
|
|
279
|
+
};
|
|
280
|
+
|
|
281
|
+
return {members, spies};
|
|
282
|
+
};
|
|
283
|
+
|
|
284
|
+
const checkInvalid = async (resultPromise, expectedMessage, spies) => {
|
|
285
|
+
await assert.isRejected(resultPromise, ParameterError, expectedMessage);
|
|
286
|
+
assert.notCalled(spies.generateRoleAssignmentMemberOptions);
|
|
287
|
+
assert.notCalled(spies.assignRolesMember);
|
|
288
|
+
};
|
|
289
|
+
|
|
290
|
+
const checkValid = async (
|
|
291
|
+
resultPromise,
|
|
292
|
+
spies,
|
|
293
|
+
expectedMemberId,
|
|
294
|
+
expectedRoles,
|
|
295
|
+
expectedLocusUrl
|
|
296
|
+
) => {
|
|
297
|
+
await assert.isFulfilled(resultPromise);
|
|
298
|
+
assert.calledOnceWithExactly(
|
|
299
|
+
spies.generateRoleAssignmentMemberOptions,
|
|
300
|
+
expectedMemberId,
|
|
301
|
+
expectedRoles,
|
|
302
|
+
expectedLocusUrl
|
|
303
|
+
);
|
|
304
|
+
assert.calledOnceWithExactly(spies.assignRolesMember, {
|
|
305
|
+
memberId: expectedMemberId,
|
|
306
|
+
roles: expectedRoles,
|
|
307
|
+
locusUrl: expectedLocusUrl,
|
|
308
|
+
});
|
|
309
|
+
assert.strictEqual(resultPromise, spies.assignRolesMember.getCall(0).returnValue);
|
|
310
|
+
};
|
|
311
|
+
|
|
312
|
+
it('should not make a request if there is no member id', async () => {
|
|
313
|
+
const {members, spies} = setup(url1);
|
|
314
|
+
|
|
315
|
+
const resultPromise = members.assignRoles();
|
|
316
|
+
|
|
317
|
+
await checkInvalid(
|
|
318
|
+
resultPromise,
|
|
319
|
+
'The member id must be defined to assign the roles to a member.',
|
|
320
|
+
spies
|
|
321
|
+
);
|
|
322
|
+
});
|
|
323
|
+
|
|
324
|
+
it('should not make a request if there is no locus url', async () => {
|
|
325
|
+
const {members, spies} = setup();
|
|
326
|
+
|
|
327
|
+
const resultPromise = members.assignRoles(uuid.v4());
|
|
328
|
+
|
|
329
|
+
await checkInvalid(
|
|
330
|
+
resultPromise,
|
|
331
|
+
'The associated locus url for this meetings members object must be defined.',
|
|
332
|
+
spies
|
|
333
|
+
);
|
|
334
|
+
});
|
|
335
|
+
|
|
336
|
+
it('should make the correct request when called with roles', async () => {
|
|
337
|
+
const memberId = uuid.v4();
|
|
338
|
+
const {members, spies} = setup(url1);
|
|
339
|
+
|
|
340
|
+
const resultPromise = members.assignRoles(memberId, [{type: 'PRESENTER', hasRole: true}, {type: 'MODERATOR', hasRole: false}, {type: 'COHOST', hasRole: true}]);
|
|
341
|
+
|
|
342
|
+
await checkValid(resultPromise, spies, memberId, [{type: 'PRESENTER', hasRole: true}, {type: 'MODERATOR', hasRole: false}, {type: 'COHOST', hasRole: true}], url1);
|
|
343
|
+
});
|
|
344
|
+
});
|
|
345
|
+
|
|
269
346
|
describe('#raiseOrLowerHand', () => {
|
|
270
347
|
const setup = (locusUrl) => {
|
|
271
348
|
const members = createMembers({url: locusUrl});
|
|
@@ -103,6 +103,27 @@ describe('plugin-meetings', () => {
|
|
|
103
103
|
});
|
|
104
104
|
});
|
|
105
105
|
|
|
106
|
+
describe('#assignRolesMember', () => {
|
|
107
|
+
it('sends a PATCH to the locus endpoint', async () => {
|
|
108
|
+
const locusUrl = url1;
|
|
109
|
+
const memberId = 'test1';
|
|
110
|
+
const roles = [{type: 'PRESENTER', hasRole: true}, {type: 'MODERATOR', hasRole: false}, {type: 'COHOST', hasRole: true}];
|
|
111
|
+
|
|
112
|
+
const options = {
|
|
113
|
+
memberId,
|
|
114
|
+
locusUrl,
|
|
115
|
+
roles,
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
await membersRequest.assignRolesMember(options);
|
|
119
|
+
const requestParams = membersRequest.request.getCall(0).args[0];
|
|
120
|
+
|
|
121
|
+
assert.equal(requestParams.method, 'PATCH');
|
|
122
|
+
assert.equal(requestParams.uri, `${locusUrl}/participant/${memberId}/controls`);
|
|
123
|
+
assert.deepEqual(requestParams.body.role.roles, roles);
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
|
|
106
127
|
describe('#raiseHand', () => {
|
|
107
128
|
it('sends a PATCH to the locus endpoint', async () => {
|
|
108
129
|
const locusUrl = url1;
|
|
@@ -12,6 +12,34 @@ sinon.assert.expose(chai.assert, {prefix: ''});
|
|
|
12
12
|
|
|
13
13
|
describe('plugin-meetings', () => {
|
|
14
14
|
describe('members utils library', () => {
|
|
15
|
+
describe('#generateRoleAssignmentMemberOptions', () => {
|
|
16
|
+
it('returns the correct options', () => {
|
|
17
|
+
const memberId = 'test';
|
|
18
|
+
const roles = [{type: 'PRESENTER', hasRole: true}, {type: 'MODERATOR', hasRole: true}, {type: 'COHOST', hasRole: true}]
|
|
19
|
+
const locusUrl = 'urlTest1';
|
|
20
|
+
|
|
21
|
+
assert.deepEqual(MembersUtil.generateRoleAssignmentMemberOptions(memberId, roles, locusUrl), {
|
|
22
|
+
memberId,
|
|
23
|
+
roles,
|
|
24
|
+
locusUrl,
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
describe('#getRoleAssignmentMemberRequestParams', () => {
|
|
30
|
+
it('returns the correct request params', () => {
|
|
31
|
+
const format = {locusUrl: 'locusUrl', memberId: 'test', roles: [{type: 'PRESENTER', hasRole: true}, {type: 'MODERATOR', hasRole: false}, {type: 'COHOST', hasRole: true}]};
|
|
32
|
+
|
|
33
|
+
assert.deepEqual(MembersUtil.getRoleAssignmentMemberRequestParams(format), {
|
|
34
|
+
method: 'PATCH',
|
|
35
|
+
uri: `locusUrl/${PARTICIPANT}/test/${CONTROLS}`,
|
|
36
|
+
body: {role: {
|
|
37
|
+
roles: [{type: 'PRESENTER', hasRole: true}, {type: 'MODERATOR', hasRole: false}, {type: 'COHOST', hasRole: true}]
|
|
38
|
+
}},
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
|
|
15
43
|
describe('#generateRaiseHandMemberOptions', () => {
|
|
16
44
|
it('returns the correct options', () => {
|
|
17
45
|
const memberId = 'test';
|