Refactor views to support dynamic updates.

This commit is contained in:
Dermot Duffy
2024-07-26 19:15:38 -07:00
parent 33dee47205
commit d5c4e56c45
80 changed files with 3714 additions and 4021 deletions
+43 -1
View File
@@ -1,5 +1,9 @@
import { describe, expect, it } from 'vitest';
import { getStreamCameraID, hasSubstream } from '../../src/utils/substream';
import {
getStreamCameraID,
hasSubstream,
removeSubstream,
} from '../../src/utils/substream';
import { View } from '../../src/view/view';
describe('hasSubstream/getStreamCameraID', () => {
@@ -54,3 +58,41 @@ describe('hasSubstream/getStreamCameraID', () => {
expect(getStreamCameraID(view, 'camera3')).toBe('camera4');
});
});
describe('removeSubstream', () => {
it('should remove substream that exists', () => {
const view = new View({
view: 'live',
camera: 'camera',
context: {
live: {
overrides: new Map([['camera', 'camera2']]),
},
},
});
removeSubstream(view);
expect(view.context).toEqual({
live: {
overrides: new Map(),
},
});
});
it('should not remove substream that does not exists', () => {
const view = new View({
view: 'live',
camera: 'camera-has-no-overrides',
context: {
live: {
overrides: new Map([['camera', 'camera2']]),
},
},
});
removeSubstream(view);
expect(view.context).toEqual({
live: {
overrides: new Map([['camera', 'camera2']]),
},
});
});
});