import "@testing-library/jest-dom"; import { render, screen } from "@testing-library/react"; import Dropdown from "./Dropdown"; describe("Dropdown", () => { const options = [ { value: "1", text: "Option 1" }, { value: "2", text: "Option 2" }, ]; test("renders without crashing", () => { render(); const dropdown = screen.getByRole("combobox"); expect(dropdown).toBeInTheDocument(); }); test("renders options correctly", () => { render(); options.forEach(({ text }) => { expect(screen.getByText(text)).toBeInTheDocument(); }); }); test("applies the correct className", () => { const className = "custom-class"; render(); const dropdown = screen.getByRole("combobox").parentElement; expect(dropdown).toHaveClass(`dropdown ${className}`); }); test("sets the default value", () => { const defaultValue = "2"; render(); const dropdown = screen.getByRole("combobox") as HTMLSelectElement; expect(dropdown.value).toBe(defaultValue); }); test("supports multiple selection", () => { render(); const dropdown = screen.getByRole("listbox"); expect(dropdown).toBeInTheDocument(); }); });