import { StreamConfigurationResponseModel, StreamConfigurationResponseSchema, } from './stream-configuration-response.model'; import { StreamConfigurationSchema } from './stream-configuration.model'; describe('StreamConfigurationResponseModel', () => { describe('#toSchema', () => { it('should build a schema object from StreamConfigurationSchema', () => { const streamConfigurationSchema: StreamConfigurationSchema = { authentication: { stream_password: 'test-pass', }, description: 'test-description', interaction_library: [ { group_id: 'test-group-id', group_name: 'test-group-name', // TODO: Eventually need better typing/tests around // this metadata field metadata: [], }, ], limits: { maximum_attendees: 27, maximum_streams_per_day: 23, maximum_time_per_stream: 88, }, options: { attendee: { enable_2fa: false, enable_camera: false, enable_chat: false, enable_microphone: false, enable_multiple_hosts: false, enable_password: false, enable_private_messages: false, }, host: { enable_camera: true, enable_microphone: true, }, }, stream_id: 1234, stream_secret: 'test-key', stream_slug: 'test-slug', title: 'test-title', }; const streamConfigurationResponseSchema: StreamConfigurationResponseSchema = { authentication: { stream_password: 'test-pass', }, description: 'test-description', interaction_library: [ { group_id: 'test-group-id', group_name: 'test-group-name', // TODO: Eventually need better typing/tests around // this metadata field metadata: [], }, ], limits: { maximum_attendees: 27, maximum_streams_per_day: 23, maximum_time_per_stream: 88, }, options: { attendee: { enable_2fa: false, enable_camera: false, enable_chat: false, enable_microphone: false, enable_multiple_hosts: false, enable_password: false, enable_private_messages: false, }, host: { enable_camera: true, enable_microphone: true, }, }, stream_id: 1234, stream_slug: 'test-slug', title: 'test-title', }; process.env.MAXIMUM_ATTENDEES_PER_STREAM = '30'; const model = new StreamConfigurationResponseModel(streamConfigurationSchema); const newSchema = model.toSchema(); expect(newSchema).toStrictEqual(streamConfigurationResponseSchema); }); }); });