Skip to content

Commit f31dbf6

Browse files
committed
fix tests
1 parent 82362d5 commit f31dbf6

1 file changed

Lines changed: 15 additions & 13 deletions

File tree

spec/unit/matrixrtc/MatrixRTCSession.spec.ts

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ limitations under the License.
1616

1717
import { encodeBase64, EventType, MatrixClient, MatrixError, MatrixEvent, Room } from "../../../src";
1818
import { KnownMembership } from "../../../src/@types/membership";
19-
import { SessionMembershipData, DEFAULT_EXPIRE_DURATION } from "../../../src/matrixrtc/CallMembership";
19+
import { DEFAULT_EXPIRE_DURATION, SessionMembershipData } from "../../../src/matrixrtc/CallMembership";
20+
import { MyMembershipManager } from "../../../src/matrixrtc/MatrixRTCMyMembershipManager";
2021
import { MatrixRTCSession, MatrixRTCSessionEvent } from "../../../src/matrixrtc/MatrixRTCSession";
2122
import { EncryptionKeysEventContent } from "../../../src/matrixrtc/types";
2223
import { randomString } from "../../../src/randomstring";
@@ -235,14 +236,13 @@ describe("MatrixRTCSession", () => {
235236
});
236237

237238
async function testSession(membershipData: SessionMembershipData): Promise<void> {
239+
const makeNewMembershipSpy = jest.spyOn(MyMembershipManager.prototype as any, "makeNewMembership");
238240
sess = MatrixRTCSession.roomSessionForRoom(client, makeMockRoom(membershipData));
239241

240-
const makeNewMembershipMock = jest.spyOn(sess as any, "makeNewMembership");
241-
242242
sess.joinRoomSession([mockFocus], mockFocus, joinSessionConfig);
243243
await Promise.race([sentStateEvent, new Promise((resolve) => setTimeout(resolve, 500))]);
244244

245-
expect(makeNewMembershipMock).toHaveBeenCalledTimes(1);
245+
expect(makeNewMembershipSpy).toHaveBeenCalledTimes(1);
246246

247247
await Promise.race([sentDelayedState, new Promise((resolve) => setTimeout(resolve, 500))]);
248248
expect(client._unstable_sendDelayedStateEvent).toHaveBeenCalledTimes(1);
@@ -477,23 +477,25 @@ describe("MatrixRTCSession", () => {
477477
return Promise.reject(error);
478478
});
479479
});
480+
// needed to join so that myMembershipManager gets created
481+
sess!.joinRoomSession([activeFocusConfig], activeFocus, {
482+
membershipServerSideExpiryTimeout: 9000,
483+
});
480484

481485
// needed to advance the mock timers properly
486+
// depends on myMembershipManager being created
482487
const scheduledDelayDisconnection = new Promise<void>((resolve) => {
483-
const originalFn: () => void = (sess as any).scheduleDelayDisconnection;
484-
(sess as any).scheduleDelayDisconnection = jest.fn(() => {
485-
originalFn.call(sess);
488+
const myMemManager = (sess as any).myMembershipManager;
489+
const originalFn: () => void = myMemManager.scheduleDelayDisconnection;
490+
myMemManager.scheduleDelayDisconnection = jest.fn(() => {
491+
originalFn.call(myMemManager);
486492
resolve();
487493
});
488494
});
489495

490-
sess!.joinRoomSession([activeFocusConfig], activeFocus, {
491-
membershipServerSideExpiryTimeout: 9000,
492-
});
493-
494-
expect(sess).toHaveProperty("membershipServerSideExpiryTimeout", 9000);
496+
expect((sess as any).myMembershipManager).toHaveProperty("membershipServerSideExpiryTimeout", 9000);
495497
await sendDelayedStateExceedAttempt.then(); // needed to resolve after the send attempt catches
496-
expect(sess).toHaveProperty("membershipServerSideExpiryTimeout", 7500);
498+
expect((sess as any).myMembershipManager).toHaveProperty("membershipServerSideExpiryTimeout", 7500);
497499

498500
await sendDelayedStateAttempt;
499501
jest.advanceTimersByTime(5000);

0 commit comments

Comments
 (0)