import React from "react"; import { renderToStaticMarkup } from "react-dom/server"; import { describe, expect, it } from "vitest"; import { OtpLoginForm } from "./OtpLoginForm"; const baseProps = { email: "skylanguage@yandex.ru", setEmail: () => {}, roleHint: "manager", setRoleHint: () => {}, otp: "", setOtp: () => {}, isOtpSent: false, isLoading: false, isDemoMode: false, onRequestOtp: () => {}, onVerifyOtp: () => {}, error: "", }; describe("OtpLoginForm", () => { it("describes the real OTP flow without production role selection", () => { const markup = renderToStaticMarkup().toLowerCase(); expect(markup).toContain("введите email"); expect(markup).toContain("доступ определяется учетной записью"); expect(markup).not.toContain("роль для демо-режима"); }); it("keeps the demo hint visible only in demo mode", () => { const markup = renderToStaticMarkup( , ).toLowerCase(); expect(markup).toContain("демо-режим активен"); expect(markup).toContain("роль для демо-режима"); }); it("tells operators to check inbox and spam after OTP is sent", () => { const markup = renderToStaticMarkup( , ).toLowerCase(); expect(markup).toContain("входящие"); expect(markup).toContain("спам"); }); it("shows unknown-email admin-help message when error matches", () => { const markup = renderToStaticMarkup( , ).toLowerCase(); expect(markup).toContain("обратитесь к администратору"); }); });