From a73eaae6c0770908e9fff9d108952b14d475bdc2 Mon Sep 17 00:00:00 2001 From: Kit Langton Date: Mon, 14 Sep 2026 21:28:00 -0700 Subject: [PATCH] test(tui): wait for variant filter focus before typing (#49107) --- packages/tui/test/component/dialog-variant.test.tsx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/tui/test/component/dialog-variant.test.tsx b/packages/tui/test/component/dialog-variant.test.tsx index a6be4fc705c..fdc46c7876c 100644 --- a/packages/tui/test/component/dialog-variant.test.tsx +++ b/packages/tui/test/component/dialog-variant.test.tsx @@ -1,4 +1,6 @@ import { expect, test } from "bun:test" +import { CliRenderEvents, InputRenderable } from "@opentui/core" +import { once } from "node:events" import { DialogVariant } from "../../src/component/dialog-variant" import { agent, model, renderLocal } from "../fixture/local" @@ -10,6 +12,10 @@ test("variant picker can explicitly reset an agent variant", async () => { expect(setup.local.model.variant.current()).toBe("high") setup.dialog.replace(() => ) await setup.waitForFrame((frame) => frame.includes("Select variant") && frame.includes("Default")) + // The dialog paints before its deferred filter focus is ready for typing. + if (!(setup.renderer.currentFocusedRenderable instanceof InputRenderable)) + await once(setup.renderer, CliRenderEvents.FOCUSED_RENDERABLE) + expect(setup.renderer.currentFocusedRenderable).toBeInstanceOf(InputRenderable) await setup.mockInput.typeText("Default") await setup.renderOnce() setup.mockInput.pressEnter()