diff --git a/driver-pwa/frontend/src/pages/OnboardingPage.test.tsx b/driver-pwa/frontend/src/pages/OnboardingPage.test.tsx new file mode 100644 index 0000000..126639a --- /dev/null +++ b/driver-pwa/frontend/src/pages/OnboardingPage.test.tsx @@ -0,0 +1,17 @@ +import { describe, it, expect, beforeEach } from "vitest"; +import { render, screen } from "@testing-library/react"; +import { MemoryRouter } from "react-router-dom"; +import { OnboardingPage } from "./OnboardingPage"; + +describe("OnboardingPage", () => { + beforeEach(() => + sessionStorage.setItem("pp-onboarding", JSON.stringify({ tg: "https://t.me/b?start=x", max: "https://max.ru/b?start=x", phone: "9143054400" })) + ); + it("shows both bot links + back-to-code action", () => { + render(); + expect(screen.getByText(/Подключите бот/i)).toBeInTheDocument(); + expect(screen.getByRole("link", { name: /Telegram/i })).toHaveAttribute("href", "https://t.me/b?start=x"); + expect(screen.getByRole("link", { name: /MAX/i })).toHaveAttribute("href", "https://max.ru/b?start=x"); + expect(screen.getByRole("button", { name: /запросить код/i })).toBeInTheDocument(); + }); +}); diff --git a/driver-pwa/frontend/src/pages/OnboardingPage.tsx b/driver-pwa/frontend/src/pages/OnboardingPage.tsx index ea25e3f..a7e1ce9 100644 --- a/driver-pwa/frontend/src/pages/OnboardingPage.tsx +++ b/driver-pwa/frontend/src/pages/OnboardingPage.tsx @@ -1 +1,26 @@ -export function OnboardingPage() { return null; } +import { useNavigate } from "react-router-dom"; + +export function OnboardingPage() { + const nav = useNavigate(); + const raw = sessionStorage.getItem("pp-onboarding"); + const data = raw ? (JSON.parse(raw) as { tg: string; max: string; phone: string }) : null; + if (!data) return null; + + return ( +
+

Подключите бот

+

+ Чтобы получать код входа, откройте бот и нажмите «Старт». Затем вернитесь и запросите код снова. +

+ + Подключить Telegram + + + Подключить MAX + + +
+ ); +}