import { fireEvent, render } from "tests" import Hamburger from "./Hamburger" import React from "react" const ONE = 1 const props = { isMenuExpanded: false, menuId: "main-navigation", onClick: jest.fn() } describe("Hamburger", () => { it("renders", () => { const { container } = render() expect(container.firstChild).toMatchSnapshot() }) it("handles click event", () => { const { getByRole } = render() const button = getByRole("menu") fireEvent.click(button) expect(props.onClick).toHaveBeenCalledTimes(ONE) }) it("sets aria-expanded attribute correctly", () => { const { getByRole, rerender } = render() const button = getByRole("menu") expect(button).toHaveAttribute("aria-expanded", "false") rerender() expect(button).toHaveAttribute("aria-expanded", "true") }) it("sets aria-controls attribute correctly", () => { const { getByRole } = render() const button = getByRole("menu") expect(button).toHaveAttribute("aria-controls", "main-navigation") }) })