33 lines
866 B
TypeScript
33 lines
866 B
TypeScript
import { MantineProvider } from "@mantine/core";
|
|
import { fireEvent, render, screen } from "@testing-library/react";
|
|
import { describe, expect, it, vi } from "vitest";
|
|
|
|
import {
|
|
TbankConnectionError,
|
|
TbankConnectionLoading,
|
|
} from "./TbankConnectionSection.view";
|
|
|
|
describe("TbankConnectionSection state views", () => {
|
|
it("renders loading and retries a status error", () => {
|
|
const retry = vi.fn();
|
|
|
|
const { rerender } = render(
|
|
<MantineProvider>
|
|
<TbankConnectionLoading />
|
|
</MantineProvider>,
|
|
);
|
|
|
|
expect(screen.getByRole("status", { name: "Загрузка" })).toHaveAttribute(
|
|
"aria-busy",
|
|
"true",
|
|
);
|
|
rerender(
|
|
<MantineProvider>
|
|
<TbankConnectionError retry={retry} />
|
|
</MantineProvider>,
|
|
);
|
|
fireEvent.click(screen.getByRole("button", { name: "Повторить" }));
|
|
expect(retry).toHaveBeenCalledOnce();
|
|
});
|
|
});
|