test: Split test utilities to improve test times (#2622)

This commit is contained in:
Dermot Duffy
2026-07-26 16:29:53 -07:00
committed by GitHub
parent 8d44fcecf1
commit ad89aa9538
234 changed files with 2730 additions and 2516 deletions
+1 -1
View File
@@ -4,7 +4,7 @@ import { copyConfig } from '../../../src/config/management';
import { CASTING_PROFILE } from '../../../src/config/profiles/casting';
import { setProfiles } from '../../../src/config/profiles/set-profiles';
import { advancedCameraCardConfigSchema } from '../../../src/config/schema/types';
import { createRawConfig } from '../../test-utils';
import { createRawConfig } from '../test-utils';
it('should contain expected defaults', () => {
expect(CASTING_PROFILE).toEqual({
+1 -1
View File
@@ -4,7 +4,7 @@ import { copyConfig } from '../../../src/config/management';
import { DOORBELL_PROFILE } from '../../../src/config/profiles/doorbell';
import { setProfiles } from '../../../src/config/profiles/set-profiles';
import { advancedCameraCardConfigSchema } from '../../../src/config/schema/types';
import { createRawConfig } from '../../test-utils';
import { createRawConfig } from '../test-utils';
it('should contain expected defaults', () => {
expect(DOORBELL_PROFILE).toEqual({
+1 -1
View File
@@ -2,7 +2,7 @@ import { describe, expect, it } from 'vitest';
import { setProfiles } from '../../../src/config/profiles/set-profiles';
import type { ProfileType } from '../../../src/config/schema/profiles';
import { createConfig } from '../../test-utils';
import { createConfig } from '../test-utils';
describe('setProfiles', () => {
it('should handle failed parse', () => {
@@ -4,7 +4,7 @@ import { copyConfig } from '../../../src/config/management';
import { LOW_PERFORMANCE_PROFILE } from '../../../src/config/profiles/low-performance';
import { setProfiles } from '../../../src/config/profiles/set-profiles';
import { advancedCameraCardConfigSchema } from '../../../src/config/schema/types';
import { createRawConfig } from '../../test-utils';
import { createRawConfig } from '../test-utils';
it('should contain expected defaults', () => {
expect(LOW_PERFORMANCE_PROFILE).toEqual({
+1 -1
View File
@@ -4,7 +4,7 @@ import { copyConfig } from '../../../src/config/management';
import { SCRUBBING_PROFILE } from '../../../src/config/profiles/scrubbing';
import { setProfiles } from '../../../src/config/profiles/set-profiles';
import { advancedCameraCardConfigSchema } from '../../../src/config/schema/types';
import { createRawConfig } from '../../test-utils';
import { createRawConfig } from '../test-utils';
it('should contain expected defaults', () => {
expect(SCRUBBING_PROFILE).toEqual({
+1 -1
View File
@@ -65,7 +65,7 @@ describe('transformPathURLToPathArray', () => {
describe('should throw error for non-media source path component', () => {
it.each(prefixes)('with prefix %s', (urlPrefix: string) => {
const url = `${urlPrefix}media-browser/browser,does-not-start-with-media-source`;
expect(() => transformPathURLToPathArray(url)).toThrowError(
expect(() => transformPathURLToPathArray(url)).toThrow(
/Could not parse media source URL/,
);
});
+34
View File
@@ -0,0 +1,34 @@
import { cameraConfigSchema, type CameraConfig } from '../../src/config/schema/cameras';
import {
performanceConfigSchema,
type PerformanceConfig,
} from '../../src/config/schema/performance';
import {
advancedCameraCardConfigSchema,
type AdvancedCameraCardConfig,
} from '../../src/config/schema/types';
import type { RawAdvancedCameraCardConfig } from '../../src/config/types';
export const createRawConfig = (
config?: Partial<RawAdvancedCameraCardConfig>,
): RawAdvancedCameraCardConfig => {
return {
type: 'advanced-camera-card',
cameras: [{}],
...config,
};
};
export const createConfig = (
config?: RawAdvancedCameraCardConfig,
): AdvancedCameraCardConfig => {
return advancedCameraCardConfigSchema.parse(createRawConfig(config));
};
export const createPerformanceConfig = (config: unknown): PerformanceConfig => {
return performanceConfigSchema.parse(config);
};
export const createCameraConfig = (config?: unknown): CameraConfig => {
return cameraConfigSchema.parse(config ?? {});
};
+4 -4
View File
@@ -11,7 +11,7 @@ import { conditionSchema } from '../../src/config/schema/condition-trigger/condi
import { dimensionsConfigSchema } from '../../src/config/schema/dimensions';
import { customSchema } from '../../src/config/schema/elements/stock/custom';
import { conditionalSchema } from '../../src/config/schema/elements/types';
import { createConfig } from '../test-utils';
import { createConfig } from './test-utils';
describe('config defaults', () => {
it('should be as expected', () => {
@@ -1342,7 +1342,7 @@ describe('should refine user_agent_re conditions', () => {
condition: 'user_agent',
user_agent_re: '[',
}),
).toThrowError(/Invalid regular expression/);
).toThrow(/Invalid regular expression/);
});
});
@@ -1885,7 +1885,7 @@ it('media viewer should not support microphone based conditions', () => {
auto_unmute: 'microphone' as const,
},
}),
).toThrowError();
).toThrow();
});
describe('automations should require actions', () => {
@@ -1895,7 +1895,7 @@ describe('automations should require actions', () => {
cameras: [{}],
automations: [{ triggers: [{ trigger: 'initialized' }], conditions: [] }],
}),
).toThrowError();
).toThrow();
});
});