Files
advanced-camera-card/tests/card-controller/config/load-automations.test.ts
T
Felipe Santosanddermotduffy ee23cb2b9d fix: automations on microphone connect not working (#2403)
- Closes #2314

I used GPT-5.4 to investigate and generate this fix. I'm not sure if the
code is good, but I can confirm it works.

---------

Co-authored-by: dermotduffy <dermot.duffy@gmail.com>
2026-03-08 20:36:47 -07:00

39 lines
1.2 KiB
TypeScript

import { describe, expect, it, vi } from 'vitest';
import { createCardAPI, createConfig } from '../../test-utils';
import { setAutomationsFromConfig } from '../../../src/card-controller/config/load-automations';
describe('setAutomationsFromConfig', () => {
it('without config', () => {
const api = createCardAPI();
setAutomationsFromConfig(api);
expect(api.getAutomationsManager().deleteAutomations).toBeCalled();
expect(api.getAutomationsManager().addAutomations).toBeCalledWith([]);
});
it('with config', () => {
const automations = [
{
actions: [
{
action: 'fire-dom-event' as const,
advanced_camera_card_action: 'clips',
},
],
conditions: [{ condition: 'fullscreen' as const, fullscreen: true }],
},
];
const api = createCardAPI();
vi.mocked(api.getConfigManager().getConfig).mockReturnValue(
createConfig({
automations: automations,
}),
);
setAutomationsFromConfig(api);
expect(api.getAutomationsManager().deleteAutomations).toBeCalled();
expect(api.getAutomationsManager().addAutomations).toBeCalledWith(automations);
});
});