From 0963b20178b1febc366f99f1d4161cd1a541ff0d Mon Sep 17 00:00:00 2001 From: Jimmy Guzman <30631540+jimmy-guzman@users.noreply.github.com> Date: Fri, 11 Oct 2024 19:03:47 -0500 Subject: [PATCH] =?UTF-8?q?test:=20=E2=9C=85=20allow=20router=20api=20to?= =?UTF-8?q?=20be=20used=20within=20tests=20(#115)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bun.lockb | Bin 436618 -> 436219 bytes package.json | 6 +-- src/components/ext-link.spec.tsx | 2 +- src/pages/home.spec.tsx | 2 +- src/testing/setup.ts | 2 +- src/testing/utils.tsx | 73 +++++++++++++++++++------------ 6 files changed, 51 insertions(+), 34 deletions(-) diff --git a/bun.lockb b/bun.lockb index 4e169c3b41889c62a527107bcb3ad9200e81a041..9929cc450b9ca96dcaccb15753b205edb1897ebb 100755 GIT binary patch delta 63767 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úx-kxbfD0bMKk+SdiR4#<6gisUP)cPGfpM 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 delta 63946 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 KK_A#3?*4x#+Pk^{ diff --git a/package.json b/package.json index 6733f0b..782d1b1 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ }, "prettier": "@jimmy.codes/prettier-config", "dependencies": { - "@tanstack/react-query": "5.59.9", + "@tanstack/react-query": "5.59.11", "@tanstack/react-router": "1.64.0", "clsx": "2.1.1", "react": "18.3.1", @@ -47,7 +47,7 @@ "@storybook/react": "8.3.5", "@storybook/react-vite": "8.3.5", "@tailwindcss/typography": "0.5.15", - "@tanstack/react-query-devtools": "5.59.9", + "@tanstack/react-query-devtools": "5.59.11", "@tanstack/router-devtools": "1.64.0", "@tanstack/router-vite-plugin": "1.64.0", "@testing-library/dom": "10.4.0", @@ -57,7 +57,7 @@ "@total-typescript/ts-reset": "0.6.1", "@types/bun": "1.1.11", "@types/react": "18.3.11", - "@types/react-dom": "18.3.0", + "@types/react-dom": "18.3.1", "@vitejs/plugin-react-swc": "3.7.1", "@vitest/coverage-v8": "2.1.2", "@vitest/ui": "2.1.2", diff --git a/src/components/ext-link.spec.tsx b/src/components/ext-link.spec.tsx index a232a08..fe05984 100644 --- a/src/components/ext-link.spec.tsx +++ b/src/components/ext-link.spec.tsx @@ -12,7 +12,7 @@ describe("ExtLink", () => { "Deploy", "Bun", ] as const)("should render %s link", async (to) => { - render({to}); + await render({to}); await expect( screen.findByRole("link", { name: to }), diff --git a/src/pages/home.spec.tsx b/src/pages/home.spec.tsx index ee9533f..9535c02 100644 --- a/src/pages/home.spec.tsx +++ b/src/pages/home.spec.tsx @@ -4,7 +4,7 @@ import { Home } from "./home"; describe("", () => { it('should render "React Starter" heading', async () => { - render(); + await render(); await expect( screen.findByRole("heading", { name: "React Starter", level: 1 }), diff --git a/src/testing/setup.ts b/src/testing/setup.ts index 26d67ca..1ae267e 100644 --- a/src/testing/setup.ts +++ b/src/testing/setup.ts @@ -3,7 +3,7 @@ import "@testing-library/jest-dom"; import { server } from "./mocks/server"; beforeAll(() => { - server.listen({ onUnhandledRequest: "warn" }); + server.listen({ onUnhandledRequest: "error" }); }); afterEach(() => { diff --git a/src/testing/utils.tsx b/src/testing/utils.tsx index 0800507..fb1a7bf 100644 --- a/src/testing/utils.tsx +++ b/src/testing/utils.tsx @@ -4,15 +4,16 @@ import { createRootRoute, createRoute, createRouter, - Outlet, RouterProvider, } from "@tanstack/react-router"; import type { RenderOptions } from "@testing-library/react"; -import { cleanup, render } from "@testing-library/react"; +import { act, cleanup, render } from "@testing-library/react"; import { userEvent } from "@testing-library/user-event"; -import { type ReactElement, type ReactNode, useMemo } from "react"; +import type { ReactElement, ReactNode } from "react"; import { afterEach } from "vitest"; +import type { FileRoutesById } from "@/route-tree.gen"; + afterEach(() => { cleanup(); }); @@ -26,25 +27,31 @@ const queryClient = new QueryClient({ }); // eslint-disable-next-line react-refresh/only-export-components -const Wrapper = ({ children }: { children: ReactNode }) => { - const router = useMemo(() => { - const rootRoute = createRootRoute({ component: Outlet }); - const testingRoute = createRoute({ - getParentRoute: () => { - return rootRoute; - }, - path: "/", - component: () => { - return children; - }, - }); - const routeTree = rootRoute.addChildren([testingRoute]); - - return createRouter({ - routeTree, - history: createMemoryHistory({ initialEntries: ["/"] }), - }); - }, [children]); +const Wrapper = ({ + children, + path, +}: { + children: ReactNode; + path: keyof FileRoutesById; +}) => { + const rootRoute = createRootRoute(); + const testingRoute = createRoute({ + getParentRoute: () => { + return rootRoute; + }, + path, + component: () => { + return children; + }, + }); + const routeTree = rootRoute.addChildren([testingRoute]); + const router = createRouter({ + routeTree, + history: createMemoryHistory({ + initialEntries: [path], + }), + context: { queryClient }, + }); return ( @@ -54,16 +61,26 @@ const Wrapper = ({ children }: { children: ReactNode }) => { ); }; -const customRender = ( +const customRender = async ( ui: ReactElement, - options: Omit = {}, + { + path = "/", + ...options + }: Omit & { path?: keyof FileRoutesById } = {}, ) => { + // eslint-disable-next-line @typescript-eslint/require-await + const result = await act(async () => { + return render(ui, { + wrapper: ({ children }) => { + return {children}; + }, + ...options, + }); + }); + return { user: userEvent.setup(), - ...render(ui, { - wrapper: Wrapper, - ...options, - }), + ...result, }; };