/**
* @file Tests for InspectorFieldRow component
*/
import { render, screen } from "@testing-library/react";
import { InspectorFieldRow } from "./InspectorFieldRow";
describe("InspectorFieldRow", () => {
it("renders label and children", () => {
render(
);
expect(screen.getByText("Test Label")).toBeInTheDocument();
expect(screen.getByTestId("test-input")).toBeInTheDocument();
});
it("renders ReactNode label", () => {
render(
Custom}>
);
expect(screen.getByTestId("custom-label")).toBeInTheDocument();
});
it("accepts additional className for container", () => {
const { container } = render(
);
expect(container.firstChild).toHaveClass("custom-class");
});
it("passes labelProps to label element", () => {
render(
);
const label = screen.getByText("Label");
expect(label).toHaveAttribute("id", "my-label");
});
it("merges labelProps className with default label class", () => {
render(
);
const label = screen.getByText("Label");
expect(label).toHaveClass("extra-label-class");
});
it("renders multiple children in control area", () => {
render(
);
expect(screen.getByTestId("input-1")).toBeInTheDocument();
expect(screen.getByTestId("input-2")).toBeInTheDocument();
});
});