import "@testing-library/jest-dom/vitest"; import React from "react"; import { vi } from "vitest"; // Mock next/navigation vi.mock("next/navigation", () => ({ usePathname: () => "/", useRouter: () => ({ push: vi.fn(), replace: vi.fn(), prefetch: vi.fn(), back: vi.fn(), }), useSearchParams: () => new URLSearchParams(), })); // Mock next-intl to avoid transitive next/server issues vi.mock("next-intl/middleware", () => ({ default: vi.fn(() => (req: any) => req), })); vi.mock("next-intl/server", () => ({ getRequestConfig: vi.fn(), })); // Mock next/server vi.mock("next/server", () => ({ NextResponse: { json: vi.fn(), next: vi.fn(), redirect: vi.fn(), }, })); // Mock next/dynamic to be synchronous in tests vi.mock("next/dynamic", () => ({ default: vi.fn((loader) => { return (props: any) => { const [Component, setComponent] = React.useState(null); React.useEffect(() => { loader().then((mod: any) => { setComponent( () => mod.default || mod.PortfolioSection || mod.ExpertiseSection || mod.TechnicalSpecsSection || mod.CTASection || mod, ); }); }, []); return Component ? : null; }; }), }));