feat: add more mock

pull/2827/head
Anderson Shindy Oki 1 month ago
parent ef54fd5fbf
commit 6bdd70c9ab

@ -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(<App />);
});
});

@ -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(<Section header="Section Header"></Section>);
expect(screen.getByText(header)).toBeDefined();

@ -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(<element.ui />);

@ -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());

Loading…
Cancel
Save