@etsoo/toolpad
Version:
Dashboard framework extention based on Toolpad Core
37 lines (36 loc) • 1.3 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import * as React from "react";
import { describe, test, expect, vi } from "vitest";
import { render, screen } from "@testing-library/react";
import { AppProvider } from "./AppProvider";
vi.mock("next/navigation", () => {
const searchParams = new URLSearchParams();
const push = () => { };
const replace = () => { };
const router = { push, replace };
return {
usePathname: () => "/",
useSearchParams: () => searchParams,
useRouter: () => router
};
});
vi.mock("next/router", () => ({ useRouter: () => null }));
vi.mock("next/compat/router", () => ({ useRouter: () => null }));
function RouterTest({ children }) {
const [pathname, setPathname] = React.useState("/page");
const router = React.useMemo(() => {
return {
pathname,
searchParams: new URLSearchParams(),
navigate: (path) => setPathname(String(path))
};
}, [pathname]);
return _jsx(AppProvider, { router: router, children: children });
}
describe("Nextjs AppProvider", () => {
test("renders content correctly", async () => {
// placeholder test
render(_jsx(RouterTest, { children: "Hello" }));
expect(screen.getByText("Hello")).toBeTruthy();
});
});