From b5774b9698f4384ad3e042d71ecb5ee6f38ac776 Mon Sep 17 00:00:00 2001 From: Brennan Benson <79079362+brennanb2025@users.noreply.github.com> Date: Thu, 13 Aug 2026 01:27:49 -0700 Subject: [PATCH] test(agent-map): guard completion burst paint budget --- .../AgentMapStatusGlow.test.tsx | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/src/renderer/src/components/dashboard-popout/AgentMapStatusGlow.test.tsx b/src/renderer/src/components/dashboard-popout/AgentMapStatusGlow.test.tsx index 7480857cfde..9c2c6f746d4 100644 --- a/src/renderer/src/components/dashboard-popout/AgentMapStatusGlow.test.tsx +++ b/src/renderer/src/components/dashboard-popout/AgentMapStatusGlow.test.tsx @@ -1,8 +1,8 @@ // @vitest-environment happy-dom import '@testing-library/jest-dom/vitest' -import { describe, expect, it } from 'vitest' -import { card, installAgentMapEnvironment, renderMap } from './agent-map-render-test-harness' +import { describe, expect, it, vi } from 'vitest' +import { card, installAgentMapEnvironment, NOW, renderMap } from './agent-map-render-test-harness' describe('AgentMap status glow', () => { installAgentMapEnvironment() @@ -29,4 +29,27 @@ describe('AgentMap status glow', () => { expect(glow).not.toBeInTheDocument() } ) + + it('caps a 200-completion burst at four flares without dropping static emphasis', () => { + const clock = vi.spyOn(Date, 'now').mockReturnValue(NOW) + const { container } = renderMap( + Array.from({ length: 200 }, (_, index) => + card({ + paneKey: `pane-${index}`, + ptyId: `pty-${index}`, + leafId: `leaf-${index}`, + bucket: 'done', + dotState: 'done', + unseen: true, + stateChangedAt: NOW + }) + ) + ) + clock.mockRestore() + + expect(container.querySelectorAll('[data-agent-map-agent-finish-flare]')).toHaveLength(4) + expect(container.querySelectorAll('[data-agent-map-agent-status-glow]')).toHaveLength(200) + expect(container.querySelectorAll('.fleet-status-done .agent-map-agent-mark')).toHaveLength(200) + expect(container.querySelectorAll('[data-agent-unread-marker]')).toHaveLength(200) + }) })