Files
frontend/src/shared/ui/StateView.test.tsx
T
2026-08-14 09:43:19 +03:00

36 lines
1.0 KiB
TypeScript

import { MantineProvider } from "@mantine/core";
import { cleanup, render, screen } from "@testing-library/react";
import { afterEach, describe, expect, it } from "vitest";
import { StateView } from "./StateView";
describe("StateView", () => {
afterEach(cleanup);
it("renders an accessible loading state with a loader", () => {
render(
<MantineProvider>
<StateView loading text="Пожалуйста, подождите." title="Загрузка" />
</MantineProvider>,
);
const status = screen.getByRole("status");
expect(status).toHaveTextContent("Загрузка");
expect(screen.getByLabelText("Загрузка")).toBeInTheDocument();
});
it("renders an accessible error state", () => {
render(
<MantineProvider>
<StateView
error
text="Попробуйте обновить страницу позже."
title="Что-то пошло не так"
/>
,
</MantineProvider>,
);
expect(screen.getByRole("alert")).toHaveTextContent("Что-то пошло не так");
});
});