test: Add full testing for the frigate engine (#2419)

This commit is contained in:
Dermot Duffy
2026-06-30 17:45:12 -07:00
committed by dermotduffy
parent 415a3e0886
commit abf1d8defe
3 changed files with 2850 additions and 308 deletions
+10 -2
View File
@@ -423,7 +423,9 @@ export class FrigateCameraManagerEngine
instanceID: string,
cameraIDs?: Set<string>,
): Promise<void> => {
if (!cameraIDs || !cameraIDs.size) {
/* istanbul ignore next: defensive guard, instances.get() always returns
a value when iterating instances.keys() -- @preserve */
if (!cameraIDs?.size) {
return;
}
const instanceQuery = { ...query, cameraIDs: cameraIDs };
@@ -500,7 +502,9 @@ export class FrigateCameraManagerEngine
instanceID: string,
cameraIDs?: Set<string>,
): Promise<void> => {
if (!cameraIDs || !cameraIDs.size) {
/* istanbul ignore next: defensive guard, instances.get() always returns
a value when iterating instances.keys() -- @preserve */
if (!cameraIDs?.size) {
return;
}
const instanceQuery = { ...query, cameraIDs: cameraIDs };
@@ -1014,6 +1018,8 @@ export class FrigateCameraManagerEngine
}
for (const result of recordings.values()) {
/* istanbul ignore next: this engine's getRecordings() always produces
FrigateRecordingQueryResults -- @preserve */
if (!FrigateQueryResultsClassifier.isFrigateRecordingQueryResults(result)) {
continue;
}
@@ -1082,6 +1088,8 @@ export class FrigateCameraManagerEngine
}
for (const [query, result] of results) {
/* istanbul ignore next: this engine's getRecordings() always produces
FrigateRecordingQueryResults -- @preserve */
if (!FrigateQueryResultsClassifier.isFrigateRecordingQueryResults(result)) {
continue;
}
File diff suppressed because it is too large Load Diff
+1 -7
View File
@@ -4,13 +4,7 @@ import { defineConfig } from 'vitest/config';
const FULL_COVERAGE = [
'src/camera-manager/*.ts',
'src/camera-manager/browse-media/*.ts',
'src/camera-manager/frigate/camera.ts',
'src/camera-manager/frigate/media-classifier.ts',
'src/camera-manager/frigate/media.ts',
'src/camera-manager/frigate/requests.ts',
'src/camera-manager/frigate/types.ts',
'src/camera-manager/frigate/util.ts',
'src/camera-manager/frigate/watcher.ts',
'src/camera-manager/frigate/*.ts',
'src/camera-manager/generic/*.ts',
'src/camera-manager/motioneye/camera.ts',
'src/camera-manager/reolink/*.ts',