test(tui): wait for variant filter focus before typing (#49107)

This commit is contained in:
Kit Langton
2026-09-14 21:28:00 -07:00
committed by GitHub
parent 1aaa8060d1
commit a73eaae6c0
@@ -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(() => <DialogVariant />)
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()