44 lines
1.7 KiB
TypeScript
44 lines
1.7 KiB
TypeScript
import { describe, expect, it, vi } from 'vitest';
|
|
import { mock } from 'vitest-mock-extended';
|
|
|
|
import type { CameraManager } from '../../../src/camera-manager/manager';
|
|
import type { FoldersManager } from '../../../src/card-controller/folders/manager';
|
|
import { resolveViewName } from '../../../src/view/utils/resolve-default';
|
|
import { createStore } from '../../camera-manager/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');
|
|
});
|
|
});
|