import { expect } from "e2e";
import { test, WEB } from "./t3.ts";

test("Digit in Delete dialog leaves pending question unanswered", WEB, async ({ t3, app, screen, browser }) => {
  const project = await t3.project("Shortcut demo");
  const thread = await t3.thread({ project, title: "Ask me how to ship", model: "question", messages: ["Ask me how to ship"] });
  await t3.open(thread);
  await screen.getByText("Strict schemas (Recommended)", { exact: true }).waitFor({ state: "visible" });
  await screen.getByRole("button", "Thread actions for Ask me how to ship").tap();
  await screen.getByRole("menuitem", "Delete", { exact: true }).tap();
  await screen.getByRole("button", "Cancel", { exact: true }).press("1");
  await app.screenshot("digit-in-delete-dialog");
  await browser.keyboard.press("Escape");
  await screen.getByRole("alertdialog").waitFor({ state: "detached" });
  await app.screenshot("question-after-dialog");
  await expect(browser.locator("[data-pending-user-input-toggle=expanded]")).toBeVisible();
  await browser.locator("[data-pending-user-input-toggle]").press("1");
  await screen.getByText("plan questions fixture complete", { exact: false }).waitFor({ state: "visible" });
  await screen.getByRole("button", "Stop generation").waitFor({ state: "hidden" });
  await app.screenshot("ordinary-control-shortcut-submits");
});
