import { fireEvent, render } from "../../../test/testRenderer"; import SectionPanel from "."; describe(SectionPanel, () => { it("displays given Header and sections", async () => { const header = <>Header; const sections = [ { expandable: false, id: "non-expandable", section: <>Non Expandable Section, }, { expandable: true, id: "expandable", section: <>Expandable Section, title: "Expand me", }, ]; const { getByText } = render( , ); expect(getByText("Header")).toBeInTheDocument(); expect(getByText("Non Expandable Section")).toBeInTheDocument(); expect(getByText("Expand me")).toBeInTheDocument(); expect(getByText("Expandable Section")).toBeInTheDocument(); }); it("displays secondary Panel when secondary Panel bar is clicked", () => { const secondaryPanel = <>Secondary Panel; const { baseElement, getByText, queryByText } = render( Header} secondaryPanel={secondaryPanel} sections={[]} onClose={jest.fn()} />, ); expect(queryByText("Secondary Panel")).toBeNull(); const svgs = baseElement.querySelectorAll("svg"); // The first SVG corresponds to the close icon. const secondSvg = svgs[1]; fireEvent.click(secondSvg); expect(getByText("Secondary Panel")).toBeInTheDocument(); }); });