64 lines
1.6 KiB
TypeScript
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);
|
|
});
|
|
});
|