UNPKG

@livekit/components-core

Version:

This package is a wrapper around the [livekit/client-sdk-js](https://github.com/livekit/client-sdk-js) package. It transforms the event based logic into simple to use observable state and component level APIs. This package is the core for all framework sp

60 lines (54 loc) 2.44 kB
import { describe, test, expect, expectTypeOf } from 'vitest'; import { mockTrackReferencePlaceholder, mockTrackReferenceSubscribed } from './test-utils'; import type { Participant, TrackPublication } from 'livekit-client'; import { Track } from 'livekit-client'; import { getTrackReferenceId } from './track-reference.utils'; describe('Test mocking functions ', () => { test('mockTrackReferenceSubscribed without options.', () => { const mock = mockTrackReferenceSubscribed('MOCK_ID', Track.Source.Camera); expect(mock).toBeDefined(); // Check if the participant is mocked correctly: expect(mock.participant).toBeDefined(); expect(mock.participant.identity).toBe('MOCK_ID'); expectTypeOf(mock.participant).toMatchTypeOf<Participant>(); // Check if the publication is mocked correctly: expect(mock.publication).toBeDefined(); expect(mock.publication.kind).toBe(Track.Kind.Video); expectTypeOf(mock.publication).toMatchTypeOf<TrackPublication>(); // Check if the source is mocked correctly: expect(mock.source).toBeDefined(); expect(mock.source).toBe(Track.Source.Camera); expectTypeOf(mock.source).toMatchTypeOf<Track.Source>(); }); }); describe('Test mockTrackReferencePlaceholder() produces valid id with getTrackReferenceId()', () => { test.each([ { participantId: 'participantA', trackSource: Track.Source.Camera, expected: 'participantA_camera_placeholder', }, ])('mockTrackReferencePlaceholder id', ({ participantId, trackSource, expected }) => { const mock = mockTrackReferencePlaceholder(participantId, trackSource); const trackRefId = getTrackReferenceId(mock); expect(trackRefId.startsWith(participantId)); expect(trackRefId.endsWith('_placeholder')); expect(trackRefId).toBe(expected); }); }); describe('Test mockTrackReferenceSubscribed() produces valid id with getTrackReferenceId()', () => { test.each([ { participantId: 'participantA', trackSource: Track.Source.Camera, expected: 'participantA_camera_publicationId(participantA)', }, ])('mockTrackReferencePlaceholder id', ({ participantId, trackSource, expected }) => { const mock = mockTrackReferenceSubscribed(participantId, trackSource, { mockPublication: true, }); const trackRefId = getTrackReferenceId(mock); expect(trackRefId.startsWith(participantId)); expect(trackRefId).toBe(expected); }); });