| 1 | import { vi } from 'vitest' |
| 2 | import { RelayLibService } from '../../libs/relay' |
| 3 | import { RelayLibModule } from '../../libs/relay/relay.module' |
| 4 | import { RelayVideoModule } from './relay-video.module' |
| 5 | import { RelayVideoService } from './relay-video.service' |
| 6 | |
| 7 | vi.mock('../../models-config', () => ({ ModelsConfigModule: class ModelsConfigModule {} })) |
| 8 | vi.mock('./relay-video.service', () => ({ RelayVideoService: class RelayVideoService {} })) |
| 9 | |
| 10 | describe('relayVideoModule', () => { |
| 11 | const relayConfig = { |
| 12 | url: 'https://relay.example.com', |
| 13 | apiKey: 'relay-api-key', |
| 14 | timeout: 1000, |
| 15 | } |
| 16 | |
| 17 | it('does not register RelayVideoService when relay config is missing', () => { |
| 18 | const moduleDefinition = RelayVideoModule.forRoot(undefined) |
| 19 | |
| 20 | expect(moduleDefinition.providers).toBeUndefined() |
| 21 | expect(moduleDefinition.exports).toBeUndefined() |
| 22 | }) |
| 23 | |
| 24 | it('registers relay video providers only when relay config exists', () => { |
| 25 | const moduleDefinition = RelayVideoModule.forRoot(relayConfig) |
| 26 | |
| 27 | expect(moduleDefinition.providers).toContain(RelayVideoService) |
| 28 | expect(moduleDefinition.exports).toContain(RelayVideoService) |
| 29 | }) |
| 30 | |
| 31 | it('exports RelayLibService globally when relay config exists', () => { |
| 32 | const moduleDefinition = RelayLibModule.forRoot(relayConfig) |
| 33 | |
| 34 | expect(moduleDefinition.global).toBe(true) |
| 35 | expect(moduleDefinition.exports).toContain(RelayLibService) |
| 36 | }) |
| 37 | }) |
| 38 |