import { MantineProvider } from "@mantine/core"; import { fireEvent, render, screen, waitFor } from "@testing-library/react"; import { MemoryRouter } from "react-router"; import { describe, expect, it, vi } from "vitest"; import { AuthForm } from "./AuthForm"; describe("AuthForm", () => { it("does not submit registration when password confirmation differs", async () => { const onSubmit = vi.fn(); render( , ); fireEvent.change(screen.getByLabelText("Email"), { target: { value: "user@example.com" }, }); fireEvent.change(screen.getByLabelText("Пароль"), { target: { value: "a secure password" }, }); fireEvent.change(screen.getByLabelText("Подтвердите пароль"), { target: { value: "another secure password" }, }); fireEvent.click(screen.getByRole("button", { name: "Регистрация" })); await waitFor(() => expect(onSubmit).not.toHaveBeenCalled()); await waitFor(() => expect(screen.getByText("Пароли не совпадают")).toBeInTheDocument(), ); }); });