import { fireEvent, render, screen } from "@testing-library/react"; import { describe, expect, it, vi } from "vitest"; import { IntentQuiz } from "./IntentQuiz"; describe("IntentQuiz", () => { it("uses recommended defaults and persists the two answers", () => { localStorage.clear(); const onComplete = vi.fn(); render(); expect(screen.getByLabelText("Bác sĩ")).toBeChecked(); fireEvent.click(screen.getByRole("button", { name: "Tiếp tục" })); expect(screen.getByLabelText("Tiếng Việt → Tiếng Anh")).toBeChecked(); fireEvent.click(screen.getByLabelText("Tiếng Anh → Tiếng Việt")); fireEvent.click(screen.getByRole("button", { name: "Tiếp tục" })); expect(onComplete).toHaveBeenCalledWith({ role: "doctor", direction: "en-vi" }); expect(localStorage.getItem("carepath-onboarding-role")).toBe("doctor"); expect(localStorage.getItem("carepath-onboarding-direction")).toBe("en-vi"); }); it("prefills stored choices and lets users skip", () => { localStorage.setItem("carepath-onboarding-role", "clinic_staff"); localStorage.setItem("carepath-onboarding-direction", "en-vi"); const onComplete = vi.fn(); render(); expect(screen.getByLabelText("Nhân viên phòng khám")).toBeChecked(); fireEvent.click(screen.getByRole("button", { name: "Bỏ qua và dùng lựa chọn đề xuất" })); expect(onComplete).toHaveBeenCalledWith({ role: "doctor", direction: "vi-en" }); }); });