Better timeline functionality for recordings.
This commit is contained in:
@@ -1,16 +1,10 @@
|
||||
import add from 'date-fns/add';
|
||||
import sub from 'date-fns/sub';
|
||||
import { beforeEach, describe, expect, it, Mock, vi } from 'vitest';
|
||||
import {
|
||||
CameraConfigs,
|
||||
PartialRecordingQuery,
|
||||
QueryType,
|
||||
} from '../../src/camera-manager/types';
|
||||
import { setify } from '../../src/utils/basic';
|
||||
import { CameraConfigs } from '../../src/camera-manager/types';
|
||||
import {
|
||||
changeViewToRecentEventsForCameraAndDependents,
|
||||
changeViewToRecentRecordingForCameraAndDependents,
|
||||
createQueriesForRecordingsView,
|
||||
executeMediaQueryForView,
|
||||
findBestMediaIndex,
|
||||
} from '../../src/utils/media-to-view';
|
||||
@@ -400,45 +394,6 @@ describe('changeViewToRecentRecordingForCameraAndDependents', () => {
|
||||
});
|
||||
});
|
||||
|
||||
// @vitest-environment jsdom
|
||||
describe('createQueriesForRecordingsView', () => {
|
||||
it('should respect start and end date in recording query', async () => {
|
||||
const cameraManager = createCameraManager({ configs: new Map() });
|
||||
|
||||
vi.mocked(cameraManager.generateDefaultRecordingQueries).mockImplementation(
|
||||
(cameraIDs: string | Set<string>, partialQuery?: PartialRecordingQuery) => [
|
||||
{
|
||||
cameraIDs: setify(cameraIDs),
|
||||
type: QueryType.Recording,
|
||||
...partialQuery,
|
||||
},
|
||||
],
|
||||
);
|
||||
|
||||
const start = new Date('2023-04-29T14:00:00');
|
||||
const end = new Date('2023-04-29T14:59:59');
|
||||
|
||||
const queries = createQueriesForRecordingsView(
|
||||
cameraManager,
|
||||
{},
|
||||
new Set(['camera']),
|
||||
{
|
||||
start: start,
|
||||
end: end,
|
||||
},
|
||||
);
|
||||
|
||||
expect(queries?.getQueries()).toEqual(
|
||||
expect.arrayContaining([
|
||||
expect.objectContaining({
|
||||
start: start,
|
||||
end: end,
|
||||
}),
|
||||
]),
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
// @vitest-environment jsdom
|
||||
describe('findBestMediaIndex', () => {
|
||||
it('should find best media index', async () => {
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
import { describe, expect, it } from 'vitest';
|
||||
import { EventMediaQueries, RecordingMediaQueries } from '../../src/view/media-queries';
|
||||
import { MediaQueriesClassifier } from '../../src/view/media-queries-classifier';
|
||||
|
||||
describe('MediaQueriesClassifier', () => {
|
||||
it('areEventQueries', () => {
|
||||
expect(MediaQueriesClassifier.areEventQueries(new EventMediaQueries())).toBeTruthy();
|
||||
expect(
|
||||
MediaQueriesClassifier.areEventQueries(new RecordingMediaQueries()),
|
||||
).toBeFalsy();
|
||||
});
|
||||
|
||||
it('areRecordingQueries', () => {
|
||||
expect(
|
||||
MediaQueriesClassifier.areRecordingQueries(new RecordingMediaQueries()),
|
||||
).toBeTruthy();
|
||||
expect(
|
||||
MediaQueriesClassifier.areRecordingQueries(new EventMediaQueries()),
|
||||
).toBeFalsy();
|
||||
});
|
||||
|
||||
it('getQueriesType', () => {
|
||||
expect(MediaQueriesClassifier.getQueriesType(new EventMediaQueries())).toBe('event');
|
||||
expect(MediaQueriesClassifier.getQueriesType(new RecordingMediaQueries())).toBe(
|
||||
'recording',
|
||||
);
|
||||
expect(MediaQueriesClassifier.getQueriesType()).toBeNull();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user