Files
LingvAI/tests/components/CustomError.test.tsx
2021-03-18 18:52:58 +01:00

25 lines
992 B
TypeScript

import { render, screen } from "../reactUtils";
import faker from "faker";
import CustomError from "../../components/CustomError";
it("loads the layout correctly", async () => {
render(<CustomError statusCode={404} />);
expect(screen.getByRole("link", { name: /skip to content/i })).toBeEnabled();
expect(await screen.findByRole("img", { name: /logo/i })).toBeVisible();
expect(screen.getByRole("button", { name: /toggle color mode/i })).toBeEnabled();
expect(screen.getByRole("link", { name: /github/i })).toBeEnabled();
expect(screen.getByText(/\xA9/)).toBeVisible();
});
it("renders a not found message on 404 code", () => {
render(<CustomError statusCode={404} />);
expect(screen.getByText(/this page could not be found/i)).toBeVisible();
});
it("renders the correct status code", () => {
const code = faker.random.number({ min: 400, max: 599 });
render(<CustomError statusCode={code} />);
expect(screen.getByText(code)).toBeVisible();
});