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

test("Unused Beta offers the reasoning levels its agent advertises", WEB, async ({t3, app, screen, browser}) => {
  await t3.project("Reasoning demo");
  await t3.open("/settings/providers");
  await screen.getByRole("button", "Add provider", {exact:true}).first().tap();
  await screen.getByRole("button", "Show more", {exact:true}).tap();
  await screen.getByRole("button", "Local ACP command", {exact:false}).tap();
  await screen.getByRole("textbox", "Executable", {exact:true}).fill(process.env.EFFORT_AGENT_PATH!);
  await screen.getByRole("button", "Next", {exact:true}).tap();
  await screen.getByRole("textbox", "Label", {exact:true}).fill("Effort Agent");
  await screen.getByRole("button", "Add instance", {exact:true}).tap();

  await t3.open();

  await browser.locator('[data-chat-provider-model-picker="true"]').tap();
  for (const name of ["Alpha", "Gamma"]) {
    await screen.getByPlaceholder("Search models...").fill(name);
    await screen.getByRole("option", new RegExp("^" + name)).tap();
    await browser.keyboard.press("Escape");
    await browser.locator('[data-chat-provider-model-picker="true"]').tap();
    await app.screenshot(name.toLowerCase() + "-control");
  }
  await screen.getByPlaceholder("Search models...").fill("Beta");
  await screen.getByRole("option", /^Beta/).tap();
  await browser.keyboard.press("Escape");

  await browser.locator('[data-chat-provider-model-picker="true"]').tap();
  await app.screenshot("beta-effort");
  await expect(screen.getByRole("radio", "High", {exact:true})).toBeVisible();
  await expect(screen.getByRole("radio", "Low", {exact:true})).toBeVisible();
});
