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" });
});
});