feat: Make cameras optional (#2343)

This commit is contained in:
Dermot Duffy
2026-02-13 20:21:05 -08:00
committed by GitHub
parent 21f9469784
commit 93f1f08e51
61 changed files with 1312 additions and 557 deletions
+3 -12
View File
@@ -1,5 +1,4 @@
import { beforeEach, describe, expect, it, vi } from 'vitest';
import { mock } from 'vitest-mock-extended';
import { CameraManager } from '../../src/camera-manager/manager';
import { ActionsManager } from '../../src/card-controller/actions/actions-manager';
import { AutomationsManager } from '../../src/card-controller/automations-manager';
@@ -34,7 +33,6 @@ import { AdvancedCameraCardEditor } from '../../src/editor';
import { DeviceRegistryManager } from '../../src/ha/registry/device';
import { EntityRegistryManagerLive } from '../../src/ha/registry/entity';
import { ResolvedMediaCache } from '../../src/ha/resolved-media';
import { EffectsControllerAPI } from '../../src/types';
vi.mock('../../src/camera-manager/manager');
vi.mock('../../src/card-controller/actions/actions-manager');
@@ -74,7 +72,7 @@ const createCardElement = (): CardHTMLElement => {
};
const createController = (): CardController => {
return new CardController(createCardElement(), vi.fn(), vi.fn(), vi.fn());
return new CardController(createCardElement(), vi.fn(), vi.fn());
};
// @vitest-environment jsdom
@@ -87,15 +85,8 @@ describe('CardController', () => {
const element = createCardElement();
const scrollCallback = vi.fn();
const menuToggleCallback = vi.fn();
const effectsControllerAPI = mock<EffectsControllerAPI>();
const effectsControllerAPICallback = vi.fn().mockReturnValue(effectsControllerAPI);
const controller = new CardController(
element,
scrollCallback,
menuToggleCallback,
effectsControllerAPICallback,
);
const controller = new CardController(element, scrollCallback, menuToggleCallback);
expect(CardElementManager).toBeCalledWith(
controller,
@@ -103,7 +94,7 @@ describe('CardController', () => {
scrollCallback,
menuToggleCallback,
);
expect(controller.getEffectsControllerAPI()).toBe(effectsControllerAPI);
expect(controller.getEffectsManager()).toBeTruthy();
});
describe('accessors', () => {