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()