import { describe, expect, it, vi } from "vitest";
import { render, screen } from "@testing-library/react";

vi.mock("next/font/google", () => ({
  Cairo: () => ({ variable: "font-cairo" }),
}));
vi.mock("sonner", () => ({
  Toaster: () => <div data-testid="toaster" />,
}));

import RootLayout, { metadata } from "@/app/layout";

describe("RootLayout", () => {
  it("exports the investor dashboard metadata", () => {
    expect(metadata.title).toBe("BEEPBEEP — لوحة المستثمر");
    expect(metadata.description).toBe("لوحة تحكم المستثمر في تطبيق BEEPBEEP لتأجير السكوترات");
  });

  it("wraps children in an Arabic RTL document and renders the toaster", () => {
    render(<RootLayout><p>محتوى التطبيق</p></RootLayout>);
    expect(screen.getByText("محتوى التطبيق")).toBeInTheDocument();
    expect(document.documentElement).toHaveAttribute("lang", "ar");
    expect(document.documentElement).toHaveAttribute("dir", "rtl");
    expect(screen.getByTestId("toaster")).toBeInTheDocument();
  });
});
