Skip to content

Commit

Permalink
fix(plugin-meetings): fix mercury connection rejection (#4112)
Browse files Browse the repository at this point in the history
  • Loading branch information
Coread authored Feb 23, 2025
1 parent 0f681f8 commit f5f2b13
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 14 deletions.
9 changes: 6 additions & 3 deletions packages/@webex/plugin-meetings/src/meetings/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -856,9 +856,12 @@ export default class Meetings extends WebexPlugin {
);
}),
'deviceRegister'
).then(
// @ts-ignore
this.executeRegistrationStep(() => this.webex.internal.mercury.connect(), 'mercuryConnect')
).then(() =>
this.executeRegistrationStep(
// @ts-ignore
() => this.webex.internal.mercury.connect(),
'mercuryConnect'
)
),
this.executeRegistrationStep(
() => Promise.resolve(MeetingsUtil.checkH264Support.call(this)),
Expand Down
22 changes: 11 additions & 11 deletions packages/@webex/plugin-meetings/test/unit/spec/meetings/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -376,21 +376,21 @@ describe('plugin-meetings', () => {
assert.isTrue(webex.meetings.registered);
});

it('rejects when SDK canAuthorize is false', () => {
it('rejects when SDK canAuthorize is false', async () => {
webex.canAuthorize = false;
assert.isRejected(webex.meetings.register());
await assert.isRejected(webex.meetings.register());
});

it('rejects when device.register fails', () => {
it('rejects when device.register fails', async () => {
webex.canAuthorize = true;
webex.internal.device.register = sinon.stub().returns(Promise.reject());
assert.isRejected(webex.meetings.register());
await assert.isRejected(webex.meetings.register());
});

it('rejects when mercury.connect fails', () => {
it('rejects when mercury.connect fails', async () => {
webex.canAuthorize = true;
webex.internal.mercury.connect = sinon.stub().returns(Promise.reject());
assert.isRejected(webex.meetings.register());
await assert.isRejected(webex.meetings.register());
});

it('resolves immediately if already registered', async () => {
Expand Down Expand Up @@ -500,7 +500,7 @@ describe('plugin-meetings', () => {
checkH264Support: true,
});

await clock.tick(1000);
await clock.tick(6000);
await webex.internal.mercury.connect;
assert.deepEqual(webex.meetings.registrationStatus, {
fetchWebexSite: true,
Expand Down Expand Up @@ -535,16 +535,16 @@ describe('plugin-meetings', () => {
});
});

it('rejects when device.unregister fails', () => {
it('rejects when device.unregister fails', async () => {
webex.meetings.registered = true;
webex.internal.device.unregister = sinon.stub().returns(Promise.reject());
assert.isRejected(webex.meetings.unregister());
await assert.isRejected(webex.meetings.unregister());
});

it('rejects when mercury.disconnect fails', () => {
it('rejects when mercury.disconnect fails', async () => {
webex.meetings.registered = true;
webex.internal.mercury.disconnect = sinon.stub().returns(Promise.reject());
assert.isRejected(webex.meetings.unregister());
await assert.isRejected(webex.meetings.unregister());
});

it('resolves immediately if not registered', (done) => {
Expand Down

0 comments on commit f5f2b13

Please sign in to comment.