test: retire sidebar indicator fixtures before later visibility events (#156408)

This commit is contained in:
Peter Steinberger 2026-09-23 05:08:03 -07:00 • committed by GitHub
parent a78f122918
commit b2727e7663
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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<TestHost>();
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();
});