import { fireEvent, render, screen, waitFor } from "@testing-library/react";
import LocaleSwitch from "./LocaleSwitch";
import i18n from "../i18n";

describe("LocaleSwitch", () => {
  beforeEach(async () => {
    localStorage.clear();
    await i18n.changeLanguage("en");
  });

  it("persists locale and sets html lang/dir", async () => {
    render(<LocaleSwitch />);
    fireEvent.click(screen.getByRole("button", { name: "العربية" }));
    await waitFor(() => {
      expect(document.documentElement.lang).toBe("ar-sa");
    });
    expect(document.documentElement.dir).toBe("rtl");
    expect(localStorage.getItem("locale")).toBe("ar-sa");
  });
});
