import { act, cleanup, fireEvent, render, screen, waitFor } from "@testing-library/react"; import { afterEach, expect, it, vi } from "vitest"; import { TooltipProvider } from "@kandev/ui/tooltip"; import { RemoteCloudTooltip } from "./remote-cloud-tooltip"; const pointer = vi.hoisted(() => ({ touch: false })); vi.mock("@/hooks/use-compact-task-chrome", () => ({ useTouchDrawer: () => pointer.touch })); afterEach(() => { cleanup(); pointer.touch = false; }); // @covers AC-EXECUTORS-TASK-STATUS-001.3 it("links the actual tooltip to the focused DOM trigger and dismisses on Escape", async () => { render( , ); const trigger = screen.getByTestId("remote-executor-status-trigger"); act(() => trigger.focus()); const tooltip = await screen.findByRole("tooltip"); expect(trigger.getAttribute("aria-describedby")).toBe(tooltip.id); fireEvent.keyDown(trigger, { key: "Escape" }); await waitFor(() => expect(screen.queryByRole("tooltip")).toBeNull()); }); // @covers AC-EXECUTORS-TASK-STATUS-001.4 // Reviewer-requested coverage of the existing click and keyboard activation contract. it.each(["click", "Enter", " "])( "opens and closes the real drawer via %s without selecting its task", async (activation) => { pointer.touch = true; const selectTask = vi.fn(); render(
, ); const trigger = screen.getByTestId("remote-executor-status-trigger"); act(() => trigger.focus()); if (activation === "click") fireEvent.click(trigger); else fireEvent.keyDown(trigger, { key: activation }); const drawer = await screen.findByRole("dialog"); expect(trigger.getAttribute("aria-controls")).toBe(drawer.id); expect(selectTask).not.toHaveBeenCalled(); fireEvent.click(screen.getByRole("button", { name: "Close" })); await waitFor(() => expect(trigger.getAttribute("aria-expanded")).toBe("false")); expect(selectTask).not.toHaveBeenCalled(); }, );