agent-ecosystem/test/renderer/components/team/useTeamAgentRuntimeWatcher.test.ts
2026-05-29 16:11:16 +03:00

64 lines
1.6 KiB
TypeScript

import { shouldWatchTeamAgentRuntime } from '@renderer/components/team/useTeamAgentRuntimeWatcher';
import { describe, expect, it } from 'vitest';
describe('shouldWatchTeamAgentRuntime', () => {
it('does not poll runtime for explicitly offline teams with stale lead activity', () => {
expect(
shouldWatchTeamAgentRuntime({
enabled: true,
isTeamProvisioning: false,
isTeamAlive: false,
leadActivity: 'idle',
})
).toBe(false);
expect(
shouldWatchTeamAgentRuntime({
enabled: true,
isTeamProvisioning: false,
isTeamAlive: false,
leadActivity: 'active',
})
).toBe(false);
});
it('keeps runtime polling for live and provisioning teams', () => {
expect(
shouldWatchTeamAgentRuntime({
enabled: true,
isTeamProvisioning: false,
isTeamAlive: true,
leadActivity: 'offline',
})
).toBe(true);
expect(
shouldWatchTeamAgentRuntime({
enabled: true,
isTeamProvisioning: true,
isTeamAlive: false,
leadActivity: 'offline',
})
).toBe(true);
});
it('allows lead activity to request polling while liveness is still unknown', () => {
expect(
shouldWatchTeamAgentRuntime({
enabled: true,
isTeamProvisioning: false,
isTeamAlive: undefined,
leadActivity: 'idle',
})
).toBe(true);
});
it('stays disabled for hidden tabs', () => {
expect(
shouldWatchTeamAgentRuntime({
enabled: false,
isTeamProvisioning: true,
isTeamAlive: true,
leadActivity: 'active',
})
).toBe(false);
});
});