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

test("Double-clicking an inactive thread keeps its title focused and saves the rename", WEB, async ({ t3, app, screen, browser }) => {
  const project = await t3.project("Sidebar rename demo");
  await t3.thread({ project, title: "Alpha", messages: ["Alpha conversation"] });
  await t3.thread({ project, title: "Bravo", messages: ["Bravo conversation"] });
  await t3.open();
  await screen.getByRole("button", /^Alpha, (?:Done, )?Sidebar rename demo$/).tap();
  // Fresh scenario state has the terminal drawer closed.
  await screen.getByRole("button", /^Bravo, (?:Done, )?Sidebar rename demo$/).doubleTap();
  await app.screenshot("inactive-thread-double-click");
  const title = screen.getByRole("textbox", "Thread title");
  await expect(title).toBeFocused();
  await browser.keyboard.type("Bravo renamed");
  await browser.keyboard.press("Enter");
  await screen.getByRole("button", /^Alpha, (?:Done, )?Sidebar rename demo$/).tap();
  await screen.getByRole("button", /^Bravo renamed, (?:Done, )?Sidebar rename demo$/).tap();
  await expect(screen.getByRole("button", /^Bravo renamed, (?:Done, )?Sidebar rename demo$/)).toBeVisible();
  await app.screenshot("rename-persisted");
});
