test: Split test utilities to improve test times (#2622)
This commit is contained in:
@@ -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({
|
||||
|
||||
@@ -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({
|
||||
|
||||
@@ -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({
|
||||
|
||||
@@ -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({
|
||||
|
||||
@@ -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/,
|
||||
);
|
||||
});
|
||||
|
||||
@@ -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 ?? {});
|
||||
};
|
||||
@@ -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();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user