From 13558db1e25b3ba36c0a181188ab0ba57d5c93f4 Mon Sep 17 00:00:00 2001 From: Half-Shot Date: Fri, 6 Dec 2024 16:43:39 +0000 Subject: [PATCH] fix a few things --- src/room/CallEventAudioRenderer.test.tsx | 2 +- src/utils/test.ts | 2 -- src/utils/testReactions.tsx | 40 ++++++++++++++++++++++-- 3 files changed, 39 insertions(+), 5 deletions(-) diff --git a/src/room/CallEventAudioRenderer.test.tsx b/src/room/CallEventAudioRenderer.test.tsx index 4a823a59..19345b86 100644 --- a/src/room/CallEventAudioRenderer.test.tsx +++ b/src/room/CallEventAudioRenderer.test.tsx @@ -23,6 +23,7 @@ import { CallMembership, type MatrixRTCSession, } from "matrix-js-sdk/src/matrixrtc"; +import { RoomMember } from "matrix-js-sdk/src/matrix"; import { mockLivekitRoom, @@ -41,7 +42,6 @@ import { } from "./CallEventAudioRenderer"; import { prefetchSounds, useAudioContext } from "../useAudioContext"; import { TestReactionsWrapper } from "../utils/testReactions"; -import { RoomMember } from "matrix-js-sdk/src/matrix"; const localRtcMember = mockRtcMembership("@carol:example.org", "CCCC"); const local = mockMatrixRoomMember(localRtcMember); diff --git a/src/utils/test.ts b/src/utils/test.ts index 70707be0..459a252e 100644 --- a/src/utils/test.ts +++ b/src/utils/test.ts @@ -27,9 +27,7 @@ import { RemoteParticipant, RemoteTrackPublication, Room as LivekitRoom, - RoomEvent, } from "livekit-client"; -import { EventEmitter } from "stream"; import { LocalUserMediaViewModel, diff --git a/src/utils/testReactions.tsx b/src/utils/testReactions.tsx index f92a9ed9..9a19a5e6 100644 --- a/src/utils/testReactions.tsx +++ b/src/utils/testReactions.tsx @@ -16,7 +16,10 @@ import { EventTimelineSet, Room, } from "matrix-js-sdk/src/matrix"; -import { MatrixRTCSession } from "matrix-js-sdk/src/matrixrtc"; +import { + MatrixRTCSession, + MatrixRTCSessionEvent, +} from "matrix-js-sdk/src/matrixrtc"; import { ReactionsProvider } from "../useReactions"; import { @@ -24,7 +27,6 @@ import { ElementCallReactionEventType, ReactionOption, } from "../reactions"; -import { MockRTCSession } from "./test"; export const TestReactionsWrapper = ({ rtcSession, @@ -39,6 +41,40 @@ export const TestReactionsWrapper = ({ ); }; +export class MockRTCSession extends EventEmitter { + public memberships: { + sender: string; + eventId: string; + createdTs: () => Date; + }[]; + + public constructor( + public readonly room: MockRoom, + membership: Record, + ) { + super(); + this.memberships = Object.entries(membership).map(([eventId, sender]) => ({ + sender, + eventId, + createdTs: (): Date => new Date(), + })); + } + + public testRemoveMember(userId: string): void { + this.memberships = this.memberships.filter((u) => u.sender !== userId); + this.emit(MatrixRTCSessionEvent.MembershipsChanged); + } + + public testAddMember(sender: string): void { + this.memberships.push({ + sender, + eventId: `!fake-${randomUUID()}:event`, + createdTs: (): Date => new Date(), + }); + this.emit(MatrixRTCSessionEvent.MembershipsChanged); + } +} + export function createHandRaisedReaction( parentMemberEvent: string, membershipOrOverridenSender: Record | string,