diff --git a/src/gateway/channel-health-monitor.test.ts b/src/gateway/channel-health-monitor.test.ts index 28f6c6325a4..e1c229d70b1 100644 --- a/src/gateway/channel-health-monitor.test.ts +++ b/src/gateway/channel-health-monitor.test.ts @@ -94,6 +94,20 @@ function runningConnectedSlackAccount( }; } +function disconnectedAccount( + lastStartAt: number, + overrides: Partial = {}, +): Partial { + return { + running: true, + connected: false, + enabled: true, + configured: true, + lastStartAt, + ...overrides, + }; +} + function createSlackSnapshotManager( account: Partial, overrides?: Partial, @@ -113,11 +127,7 @@ function createBusyDisconnectedManager(lastRunActivityAt: number): ChannelManage return createSnapshotManager({ discord: { default: { - running: true, - connected: false, - enabled: true, - configured: true, - lastStartAt: now - 300_000, + ...disconnectedAccount(now - 300_000), activeRuns: 1, busy: true, lastRunActivityAt, @@ -150,6 +160,10 @@ async function expectNoStart(manager: ChannelManager) { monitor.stop(); } +async function advanceHealthCheck() { + await vi.advanceTimersByTimeAsync(DEFAULT_CHECK_INTERVAL_MS); +} + describe("channel-health-monitor", () => { beforeEach(() => { vi.useFakeTimers(); @@ -286,20 +300,8 @@ describe("channel-health-monitor", () => { const manager = createSnapshotManager( { discord: { - default: { - running: true, - connected: false, - enabled: true, - configured: true, - lastStartAt: now - 300_000, - }, - quiet: { - running: true, - connected: false, - enabled: true, - configured: true, - lastStartAt: now - 300_000, - }, + default: disconnectedAccount(now - 300_000), + quiet: disconnectedAccount(now - 300_000), }, }, { @@ -320,14 +322,9 @@ describe("channel-health-monitor", () => { const now = Date.now(); const manager = createSnapshotManager({ whatsapp: { - default: { - running: true, - connected: false, - enabled: true, - configured: true, + default: disconnectedAccount(now - 300_000, { linked: true, - lastStartAt: now - 300_000, - }, + }), }, }); const monitor = await startAndRunCheck(manager); @@ -341,16 +338,11 @@ describe("channel-health-monitor", () => { const now = Date.now(); const manager = createSnapshotManager({ discord: { - default: { - running: true, - connected: false, - enabled: true, - configured: true, - lastStartAt: now - 300_000, + default: disconnectedAccount(now - 300_000, { activeRuns: 2, busy: true, lastRunActivityAt: now - 30_000, - }, + }), }, }); await expectNoRestart(manager); @@ -452,11 +444,11 @@ describe("channel-health-monitor", () => { }); const monitor = await startAndRunCheck(manager); expect(manager.startChannel).toHaveBeenCalledTimes(1); - await vi.advanceTimersByTimeAsync(DEFAULT_CHECK_INTERVAL_MS); + await advanceHealthCheck(); expect(manager.startChannel).toHaveBeenCalledTimes(1); - await vi.advanceTimersByTimeAsync(DEFAULT_CHECK_INTERVAL_MS); + await advanceHealthCheck(); expect(manager.startChannel).toHaveBeenCalledTimes(1); - await vi.advanceTimersByTimeAsync(DEFAULT_CHECK_INTERVAL_MS); + await advanceHealthCheck(); expect(manager.startChannel).toHaveBeenCalledTimes(2); monitor.stop(); });