feat: Make cameras optional (#2343)

This commit is contained in:
Dermot Duffy
2026-02-13 20:21:05 -08:00
committed by GitHub
parent 21f9469784
commit 93f1f08e51
61 changed files with 1312 additions and 557 deletions
+42
View File
@@ -0,0 +1,42 @@
import { describe, expect, it, vi } from 'vitest';
import { mock } from 'vitest-mock-extended';
import { CameraManager } from '../../../src/camera-manager/manager';
import { FoldersManager } from '../../../src/card-controller/folders/manager';
import { resolveViewName } from '../../../src/view/utils/resolve-default';
import { createStore } from '../../test-utils';
describe('resolveViewName', () => {
it('should return the view name directly if not auto', () => {
expect(resolveViewName('live', mock<CameraManager>(), mock<FoldersManager>())).toBe(
'live',
);
});
it('should return live if auto and cameras are present', () => {
const cameraManager = mock<CameraManager>();
vi.mocked(cameraManager.getStore).mockReturnValue(
createStore([{ cameraID: 'camera-1' }]),
);
const foldersManager = mock<FoldersManager>();
expect(resolveViewName('auto', cameraManager, foldersManager)).toBe('live');
});
it('should return folders if auto, no cameras, but folders are present', () => {
const cameraManager = mock<CameraManager>();
vi.mocked(cameraManager.getStore).mockReturnValue(createStore([]));
const foldersManager = mock<FoldersManager>();
vi.mocked(foldersManager.hasFolders).mockReturnValue(true);
expect(resolveViewName('auto', cameraManager, foldersManager)).toBe('folders');
});
it('should return image if auto and nothing is present', () => {
const cameraManager = mock<CameraManager>();
vi.mocked(cameraManager.getStore).mockReturnValue(createStore([]));
const foldersManager = mock<FoldersManager>();
vi.mocked(foldersManager.hasFolders).mockReturnValue(false);
expect(resolveViewName('auto', cameraManager, foldersManager)).toBe('image');
});
});