diff --git a/frontend/src/App/app.test.tsx b/frontend/src/App/app.test.tsx index db9895305..06aafaf86 100644 --- a/frontend/src/App/app.test.tsx +++ b/frontend/src/App/app.test.tsx @@ -1,9 +1,18 @@ +import { http } from "msw"; +import { HttpResponse } from "msw"; import { describe, it } from "vitest"; import { render } from "@/tests"; +import server from "@/tests/mocks/node"; import App from "."; describe("App", () => { it("should render without crash", () => { + server.use( + http.get("/api/system/searches", () => { + return HttpResponse.json({}); + }), + ); + render(); }); }); diff --git a/frontend/src/pages/Settings/components/Section.test.tsx b/frontend/src/pages/Settings/components/Section.test.tsx index 4e8e8032a..90322488b 100644 --- a/frontend/src/pages/Settings/components/Section.test.tsx +++ b/frontend/src/pages/Settings/components/Section.test.tsx @@ -1,24 +1,12 @@ import { Text } from "@mantine/core"; -import { http, HttpResponse } from "msw"; import { describe, it } from "vitest"; import { render, screen } from "@/tests"; -import server from "@/tests/mocks/node"; import { Section } from "./Section"; describe("Settings section", () => { const header = "Section Header"; it("should show header", () => { - server.use( - http.get("/api/system/settings", () => { - return HttpResponse.json({ - general: { - theme: "auto", - }, - }); - }), - ); - render(
); expect(screen.getByText(header)).toBeDefined(); diff --git a/frontend/src/tests/render.tsx b/frontend/src/tests/render.tsx index e0031e903..72a79b34c 100644 --- a/frontend/src/tests/render.tsx +++ b/frontend/src/tests/render.tsx @@ -1,4 +1,7 @@ import { FunctionComponent } from "react"; +import { HttpResponse } from "msw"; +import { http } from "msw"; +import server from "./mocks/node"; import { render } from "."; export interface RenderTestCase { @@ -8,6 +11,50 @@ export interface RenderTestCase { export function renderTest(name: string, cases: RenderTestCase[]) { describe(name, () => { + beforeEach(() => { + server.use( + http.get("/api/movies/history", () => { + return HttpResponse.json({}); + }), + http.get("/api/episodes/history", () => { + return HttpResponse.json({}); + }), + http.get("/api/system/searches", () => { + return HttpResponse.json({}); + }), + http.get("/api/providers", () => { + return HttpResponse.json({ + data: [ + { + name: "Provider 1", + retry: "-", + status: "History", + }, + ], + }); + }), + http.get("/api/system/languages", () => { + return HttpResponse.json({}); + }), + http.get("/api/history/stats", () => { + return HttpResponse.json({ + movies: [ + { + date: "2025-01-17", + count: 1, + }, + ], + series: [ + { + date: "2025-01-17", + count: 1, + }, + ], + }); + }), + ); + }); + cases.forEach((element) => { it(`${element.name.toLowerCase()} should render`, () => { render(); diff --git a/frontend/src/tests/setup.ts b/frontend/src/tests/setup.ts index 25b13df48..8054df7ac 100644 --- a/frontend/src/tests/setup.ts +++ b/frontend/src/tests/setup.ts @@ -1,5 +1,7 @@ /* eslint-disable @typescript-eslint/no-empty-function */ +import { http } from "msw"; +import { HttpResponse } from "msw"; import { vitest } from "vitest"; import "@testing-library/jest-dom"; import server from "./mocks/node"; @@ -32,6 +34,16 @@ window.scrollTo = () => {}; beforeAll(() => { server.listen({ onUnhandledRequest: "error" }); + + server.use( + http.get("/api/system/settings", () => { + return HttpResponse.json({ + general: { + theme: "auto", + }, + }); + }), + ); }); afterEach(() => server.resetHandlers());