Skip to content

Commit 9946143

Browse files
committed
fix mocking issues
Signed-off-by: Timo K <[email protected]>
1 parent 3c2f9b4 commit 9946143

File tree

2 files changed

+15
-8
lines changed

2 files changed

+15
-8
lines changed

spec/unit/matrixrtc/MatrixRTCSession.spec.ts

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ import { secureRandomString } from "../../../src/randomstring";
3030
import {
3131
makeMockEvent,
3232
makeMockRoom,
33-
sessionMembershipTemplate as membershipTemplate,
3433
makeKey,
3534
type MembershipData,
3635
mockRoomState,
@@ -46,6 +45,7 @@ const textEncoder = new TextEncoder();
4645
const callSession = { id: "", application: "m.call" };
4746

4847
describe("MatrixRTCSession", () => {
48+
const membershipTemplate = sessionMembershipTemplate;
4949
let client: MatrixClient;
5050
let sess: MatrixRTCSession | undefined;
5151

@@ -67,7 +67,6 @@ describe("MatrixRTCSession", () => {
6767
});
6868

6969
describe("roomSessionForRoom", () => {
70-
const membershipTemplate = sessionMembershipTemplate;
7170
it("creates a room-scoped session from room state", async () => {
7271
const mockRoom = makeMockRoom([membershipTemplate]);
7372

@@ -412,6 +411,7 @@ describe("MatrixRTCSession", () => {
412411
expect(client.sendEvent).toHaveBeenCalledWith(mockRoom!.roomId, EventType.RTCNotification, {
413412
"m.mentions": { user_ids: [], room: true },
414413
"notification_type": "ring",
414+
"m.call.intent": "voice",
415415
"m.relates_to": {
416416
event_id: ownMembershipId,
417417
rel_type: "m.reference",
@@ -431,6 +431,7 @@ describe("MatrixRTCSession", () => {
431431
expect(didSendEventFn).toHaveBeenCalledWith(
432432
{
433433
"event_id": "new-evt",
434+
"m.call.intent": "voice",
434435
"lifetime": 30000,
435436
"m.mentions": { room: true, user_ids: [] },
436437
"m.relates_to": {
@@ -738,11 +739,17 @@ describe("MatrixRTCSession", () => {
738739
it("re-sends key if a new member joins even if a key rotation is in progress", async () => {
739740
jest.useFakeTimers();
740741
try {
742+
const ownMembership = {
743+
...membershipTemplate,
744+
user_id: client.getUserId()!,
745+
device_id: client.getDeviceId()!,
746+
};
741747
// session with two members
742-
const member2 = Object.assign({}, membershipTemplate, {
748+
const member2 = Object.assign({}, ownMembership, {
743749
device_id: "BBBBBBB",
750+
user_id: "@bob:example.org",
744751
});
745-
const mockRoom = makeMockRoom([membershipTemplate, member2]);
752+
const mockRoom = makeMockRoom([ownMembership, member2]);
746753
sess = await MatrixRTCSession.sessionForRoom(client, mockRoom, callSession);
747754

748755
// joining will trigger an initial key send
@@ -758,14 +765,14 @@ describe("MatrixRTCSession", () => {
758765
expect(sess!.statistics.counters.roomEventEncryptionKeysSent).toEqual(1);
759766

760767
// member2 leaves triggering key rotation
761-
mockRoomState(mockRoom, [membershipTemplate]);
768+
mockRoomState(mockRoom, [ownMembership]);
762769
await sess.onRTCSessionMemberUpdate();
763770

764771
// member2 re-joins which should trigger an immediate re-send
765772
const keysSentPromise2 = new Promise<EncryptionKeysEventContent>((resolve) => {
766773
sendEventMock.mockImplementation((_roomId, _evType, payload) => resolve(payload));
767774
});
768-
mockRoomState(mockRoom, [membershipTemplate, member2]);
775+
mockRoomState(mockRoom, [ownMembership, member2]);
769776
await sess.onRTCSessionMemberUpdate();
770777
// but, that immediate resend is throttled so we need to wait a bit
771778
jest.advanceTimersByTime(1000);

spec/unit/matrixrtc/mocks.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ export function makeMockEvent(
145145
timestamp?: number,
146146
): MatrixEvent {
147147
return new MatrixEvent({
148-
event_id: "mock_event_id",
148+
event_id: secureRandomString(8),
149149
sender,
150150
type,
151151
content,
@@ -155,7 +155,7 @@ export function makeMockEvent(
155155
}
156156

157157
export function mockRTCEvent({ user_id: sender, ...membershipData }: MembershipData, roomId: string): MatrixEvent {
158-
return makeMockEvent(EventType.GroupCallMemberPrefix, sender, roomId, membershipData);
158+
return makeMockEvent(EventType.GroupCallMemberPrefix, sender, roomId, membershipData, Date.now());
159159
}
160160

161161
export function mockCallMembership(membershipData: MembershipData, roomId: string): CallMembership {

0 commit comments

Comments
 (0)