diff --git a/ui/src/components/app-sidebar-session-pr-indicators.test.ts b/ui/src/components/app-sidebar-session-pr-indicators.test.ts index 1c46b4254a15..5a9e4dea4754 100644 --- a/ui/src/components/app-sidebar-session-pr-indicators.test.ts +++ b/ui/src/components/app-sidebar-session-pr-indicators.test.ts @@ -14,11 +14,17 @@ import type { SessionCapability } from "../lib/sessions/index.ts"; import { SessionPullRequestIndicatorsController } from "./app-sidebar-session-pr-indicators.ts"; import type { SidebarRecentSession } from "./app-sidebar-session-types.ts"; +const testHosts = new Set(); + class TestHost implements ReactiveControllerHost { readonly controllers: ReactiveController[] = []; readonly requestUpdate = vi.fn(); readonly updateComplete = Promise.resolve(true); + constructor() { + testHosts.add(this); + } + addController(controller: ReactiveController): void { this.controllers.push(controller); } @@ -120,6 +126,12 @@ function createGatewayHarness() { } afterEach(() => { + for (const host of testHosts) { + for (const controller of host.controllers) { + controller.hostDisconnected?.(); + } + } + testHosts.clear(); document.querySelectorAll(LIFECYCLE_HOST_TAG).forEach((host) => host.remove()); vi.useRealTimers(); });