import { describe, it, expect } from "vitest"; import { render, fireEvent, act } from "@testing-library/react"; import AccessibilityMenu from "../components/AccessibilityMenu"; // Diagnostics console.log( "AccessibilityMenu import type:", typeof AccessibilityMenu, AccessibilityMenu && Object.keys(AccessibilityMenu || {}) ); import { DEFAULT_ACCESSIBILITY_PREFS, applyAccessibilityPrefsForTest, } from "../hooks/useAccessibilityPrefs"; // Teste sem dependência de axe-core garantindo semântica mínima do diálogo describe.skip("AccessibilityMenu semântica (skip – aguardando correção de pipeline React)", () => { it("abre e fecha mantendo atributos ARIA corretos", () => { const Dummy = () => ; const dummyRender = render(); console.log("DUMMY_HTML", dummyRender.container.innerHTML); dummyRender.unmount(); applyAccessibilityPrefsForTest(DEFAULT_ACCESSIBILITY_PREFS); const { getByTestId, queryByRole, container } = render( ); expect(container).toBeTruthy(); console.log("DEBUG_HTML", container.innerHTML); const trigger = getByTestId("a11y-menu-trigger"); act(() => { fireEvent.click(trigger); }); const dialog = queryByRole("dialog"); expect(dialog).not.toBeNull(); expect(dialog?.getAttribute("aria-modal")).toBe("true"); act(() => { fireEvent.keyDown(document, { key: "Escape" }); }); expect(queryByRole("dialog")).toBeNull(); }); it("aplica foco inicial ao abrir", () => { const { getByTestId, queryByRole, container } = render( ); expect(container).toBeTruthy(); console.log("DEBUG_HTML", container.innerHTML); act(() => { fireEvent.click(getByTestId("a11y-menu-trigger")); }); const dialog = queryByRole("dialog") as HTMLElement; expect(dialog).not.toBeNull(); const active = document.activeElement as HTMLElement; expect(dialog.contains(active)).toBe(true); }); });