import type { FC } from "react"; import { MantineProvider } from "@mantine/core"; import { render, screen } from "@testing-library/react"; import { describe, expect, it } from "vitest"; import { PayoutCard } from "./PayoutCard"; const Wrapper: FC<{ children: React.ReactNode }> = props => ( {props.children} ); describe("PayoutCard", () => { it("renders an executed payout with signed source money", () => { render( , ); expect(screen.getByText("−10,25 ₽")).toBeInTheDocument(); expect(screen.getByText(/Исполнено 01.08.2026 12:00/)).toBeInTheDocument(); }); it("keeps zero distinct from an unknown executed amount", () => { render( , ); expect(screen.getByText("0,000 ₽")).toBeInTheDocument(); expect(screen.getByText("Без движения денег")).toBeInTheDocument(); }); it("marks a forecast payout and a dividend registry date without inventing an amount", () => { render( , ); expect(screen.getByText("Прогноз")).toBeInTheDocument(); expect(screen.getByText(/15.08.2026 · Дата реестра/)).toBeInTheDocument(); expect(screen.getByText("Сумма неизвестна")).toBeInTheDocument(); }); it("shows a schedule payout with per-security label and separate estimate", () => { render( , ); expect(screen.getByText("12,5 ₽")).toBeInTheDocument(); expect(screen.getByText("На облигацию")).toBeInTheDocument(); expect(screen.getByText("Оценка по позиции")).toBeInTheDocument(); expect(screen.getByText("125 ₽")).toBeInTheDocument(); }); });