From 3ef546488fdefa0fa32a046d3d382440c91b94b6 Mon Sep 17 00:00:00 2001 From: juancarmore Date: Fri, 20 Jun 2025 14:59:38 +0200 Subject: [PATCH] test: refactor setupSingleRoom function to join participant after generating participant token This fix the bug that causes LiveKit webhook events to not have property 'metadata' defined because the room was being created when joining participant instead of when generating token --- backend/tests/helpers/test-scenarios.ts | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/backend/tests/helpers/test-scenarios.ts b/backend/tests/helpers/test-scenarios.ts index d5ef6e0..b7cf0e7 100644 --- a/backend/tests/helpers/test-scenarios.ts +++ b/backend/tests/helpers/test-scenarios.ts @@ -36,7 +36,11 @@ export interface TestContext { * @param withParticipant Whether to join a fake participant in the room. * @returns Room data including secrets and cookies. */ -export const setupSingleRoom = async (withParticipant = false, roomPrefix = 'TEST_ROOM', preferences?: MeetRoomPreferences): Promise => { +export const setupSingleRoom = async ( + withParticipant = false, + roomPrefix = 'TEST_ROOM', + preferences?: MeetRoomPreferences +): Promise => { const room = await createRoom({ roomIdPrefix: roomPrefix, preferences @@ -46,11 +50,14 @@ export const setupSingleRoom = async (withParticipant = false, roomPrefix = 'TES const { moderatorSecret, publisherSecret } = MeetRoomHelper.extractSecretsFromRoom(room); const [moderatorCookie, publisherCookie] = await Promise.all([ generateParticipantTokenCookie(room.roomId, 'MODERATOR', moderatorSecret), - generateParticipantTokenCookie(room.roomId, 'PUBLISHER', publisherSecret), - // Join participant if needed - withParticipant ? joinFakeParticipant(room.roomId, 'TEST_PARTICIPANT') : Promise.resolve() + generateParticipantTokenCookie(room.roomId, 'PUBLISHER', publisherSecret) ]); + // Join participant if needed + if (withParticipant) { + await joinFakeParticipant(room.roomId, 'TEST_PARTICIPANT'); + } + return { room, moderatorSecret,