diff --git a/backend/tests/helpers/request-helpers.ts b/backend/tests/helpers/request-helpers.ts index 5a870b4..75aaf95 100644 --- a/backend/tests/helpers/request-helpers.ts +++ b/backend/tests/helpers/request-helpers.ts @@ -490,6 +490,12 @@ export const getAllRecordings = async (query: Record = {}) => { .query(query); }; +export const getAllRecordingsFromRoom = async (recordingTokenCookie: string) => { + checkAppIsRunning(); + + return await request(app).get(`${INTERNAL_CONFIG.API_BASE_PATH_V1}/recordings`).set('Cookie', recordingTokenCookie); +}; + export const deleteAllRecordings = async () => { checkAppIsRunning(); diff --git a/backend/tests/integration/api/recordings/get-recordings.test.ts b/backend/tests/integration/api/recordings/get-recordings.test.ts index 154f168..34ada71 100644 --- a/backend/tests/integration/api/recordings/get-recordings.test.ts +++ b/backend/tests/integration/api/recordings/get-recordings.test.ts @@ -10,10 +10,17 @@ import { deleteAllRecordings, deleteAllRooms, disconnectFakeParticipants, + generateRecordingToken, getAllRecordings, + getAllRecordingsFromRoom, startTestServer } from '../../../helpers/request-helpers.js'; -import { RoomData, setupMultiRecordingsTestContext, TestContext } from '../../../helpers/test-scenarios.js'; +import { + RoomData, + setupMultiRecordingsTestContext, + setupSingleRoomWithRecording, + TestContext +} from '../../../helpers/test-scenarios.js'; describe('Recordings API Tests', () => { let context: TestContext | null = null; @@ -48,6 +55,22 @@ describe('Recordings API Tests', () => { expectSuccessListRecordingResponse(response, 1, false, false); }); + it('should return a list of recordings belonging to the room when using recording token', async () => { + // Create a room and start a recording + let roomData = await setupSingleRoomWithRecording(true); + const roomId = roomData.room.roomId; + + // Generate a recording token for the room + const recordingCookie = await generateRecordingToken(roomId, roomData.publisherSecret); + + // Create a new room and start a recording + roomData = await setupSingleRoomWithRecording(true); + + const response = await getAllRecordingsFromRoom(recordingCookie); + expectSuccessListRecordingResponse(response, 1, false, false); + expect(response.body.recordings[0].roomId).toBe(roomId); + }); + it('should filter recordings by roomId', async () => { context = await setupMultiRecordingsTestContext(2, 2, 2); ({ room } = context.getRoomByIndex(0)!);