feat: Triggers should fire on startup if entities are in an active state (#2095)

- Closes: #2087
This commit is contained in:
Dermot Duffy
2025-06-08 16:01:26 -07:00
committed by GitHub
parent 2b92f84665
commit 3b4752b257
7 changed files with 166 additions and 5 deletions
@@ -123,6 +123,7 @@ describe('InitializationManager', () => {
expect(manager.isInitialized(InitializationAspect.CAMERAS)).toBeTruthy();
expect(manager.isInitialized(InitializationAspect.MICROPHONE_CONNECT)).toBeFalsy();
expect(manager.isInitialized(InitializationAspect.VIEW)).toBeTruthy();
expect(manager.isInitialized(InitializationAspect.INITIAL_TRIGGER)).toBeTruthy();
});
it('successfully with microphone if configured', async () => {
@@ -174,6 +175,8 @@ describe('InitializationManager', () => {
initializer.initializeMultipleIfNecessary.mockResolvedValue(false);
await manager.initializeMandatory();
expect(manager.wasEverInitialized()).toBeFalsy();
});
it('with cameras in progress', async () => {
@@ -188,6 +191,27 @@ describe('InitializationManager', () => {
.mockResolvedValueOnce(false);
await manager.initializeMandatory();
expect(manager.wasEverInitialized()).toBeFalsy();
});
it('with triggers in progress', async () => {
const api = createCardAPI();
vi.mocked(api.getHASSManager().getHASS).mockReturnValue(createHASS());
vi.mocked(api.getConfigManager().getConfig).mockReturnValue(createConfig());
const initializer = mock<Initializer>();
const manager = new InitializationManager(api, initializer);
initializer.initializeMultipleIfNecessary
.mockResolvedValueOnce(true)
.mockResolvedValueOnce(true);
initializer.initializeIfNecessary
.mockResolvedValueOnce(true)
.mockResolvedValueOnce(false);
await manager.initializeMandatory();
expect(manager.wasEverInitialized()).toBeFalsy();
});
});