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("обратитесь к администратору");
});
});