test(backend): expand helper and media coverage
This commit is contained in:
49
Backend/tests/sfu-registry.test.ts
Normal file
49
Backend/tests/sfu-registry.test.ts
Normal file
@@ -0,0 +1,49 @@
|
||||
import { describe, expect, test } from 'bun:test';
|
||||
|
||||
import { SfuSessionRegistry } from '../media/sfu/registry';
|
||||
|
||||
const buildSession = (streamSessionId: string) => ({
|
||||
streamSessionId,
|
||||
ownerUserId: 'user-1',
|
||||
cameraDeviceId: 'camera-1',
|
||||
requesterDeviceId: 'client-1',
|
||||
state: 'starting' as const,
|
||||
createdAt: '2026-04-16T12:00:00.000Z',
|
||||
});
|
||||
|
||||
describe('SFU session registry', () => {
|
||||
test('stores and retrieves a session descriptor without internal metadata', () => {
|
||||
const registry = new SfuSessionRegistry();
|
||||
registry.set(buildSession('stream-1'));
|
||||
|
||||
expect(registry.get('stream-1')).toEqual(buildSession('stream-1'));
|
||||
});
|
||||
|
||||
test('returns null when updating a missing session state', () => {
|
||||
const registry = new SfuSessionRegistry();
|
||||
|
||||
expect(registry.updateState('missing-stream', 'live')).toBeNull();
|
||||
});
|
||||
|
||||
test('updates state and lists all registered sessions', () => {
|
||||
const registry = new SfuSessionRegistry();
|
||||
registry.set(buildSession('stream-1'));
|
||||
registry.set({ ...buildSession('stream-2'), cameraDeviceId: 'camera-2' });
|
||||
|
||||
expect(registry.updateState('stream-1', 'live')).toEqual({
|
||||
...buildSession('stream-1'),
|
||||
state: 'live',
|
||||
});
|
||||
|
||||
expect(registry.list()).toEqual([
|
||||
{
|
||||
...buildSession('stream-1'),
|
||||
state: 'live',
|
||||
},
|
||||
{
|
||||
...buildSession('stream-2'),
|
||||
cameraDeviceId: 'camera-2',
|
||||
},
|
||||
]);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user