import { act, cleanup, fireEvent, render, screen, within, } from "@testing-library/react"; import { StrictMode } from "react"; import { getFeaturedProjects } from "@/lib/portfolio-data"; import { chapterFraction, getShowcaseConfig, mobileFractionAt, } from "@/lib/project-showcase"; import { ShowcaseProvider, useShowcaseOpen } from "./ShowcaseProvider"; let reducedMotion = false; // a janela ampliada chega sob demanda (React.lazy): aqui entra já, para o teste não esperar jest.mock("./ProjectLightboxLazy", () => ({ ProjectLightboxLazy: jest.requireActual("./ProjectLightbox").ProjectLightbox, })); jest.mock("@/app/hooks/useReducedMotion", () => ({ useReducedMotion: () => reducedMotion, })); function Card({ id }: { id: string }) { const openProject = useShowcaseOpen(); return (
); } const projects = getFeaturedProjects(null); const lavacao = getShowcaseConfig("lavacao-047"); function setup(id = "lavacao-047") { render( , ); fireEvent.click(screen.getByRole("button", { name: `ampliar ${id}` })); return screen.getByRole("dialog"); } /** jsdom não carrega mídia: o teste dá ao