feat(companion): add heartbeat loop success callback

This commit is contained in:
William Valentin
2026-02-16 19:09:13 -08:00
parent 0a43abd531
commit 4a3c9e7fac
4 changed files with 34 additions and 2 deletions
+15
View File
@@ -81,6 +81,21 @@ describe('CompanionHeartbeatLoop', () => {
loop.stop();
});
it('calls onSuccess with heartbeat result payload', async () => {
const result = buildStatusResult();
const publishHeartbeat = vi.fn(async () => result);
const onSuccess = vi.fn();
const loop = new CompanionHeartbeatLoop(
{ publishHeartbeat },
{ intervalMs: 200, onSuccess },
);
loop.start();
await Promise.resolve();
expect(onSuccess).toHaveBeenCalledWith(result);
loop.stop();
});
it('passes buildHeartbeat payload into publishHeartbeat', async () => {
const publishHeartbeat = vi.fn(async () => buildStatusResult());
const buildHeartbeat = vi.fn(() => ({ statusText: 'loop', powerSource: 'ac' as const }));