返回 AiToEarn
relay-video.module.spec.ts
根目录 / project / aitoearn-backend / apps / aitoearn-ai / src / core / ai / video / relay / relay-video.module.spec.ts
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
38 lines TYPESCRIPT