/* Copyright 2024 New Vector Ltd. Copyright 2023 The Matrix.org Foundation C.I.C. SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ import { getByRole, render } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import React, { ComponentProps } from "react"; import ExtraTile from "../../../../src/components/views/rooms/ExtraTile"; describe("ExtraTile", () => { function renderComponent(props: Partial> = {}) { const defaultProps: ComponentProps = { isMinimized: false, isSelected: false, displayName: "test", avatar: , onClick: () => {}, }; return render(); } it("renders", () => { const { asFragment } = renderComponent(); expect(asFragment()).toMatchSnapshot(); }); it("hides text when minimized", () => { const { container } = renderComponent({ isMinimized: true, displayName: "testDisplayName", }); expect(container).not.toHaveTextContent("testDisplayName"); }); it("registers clicks", async () => { const onClick = jest.fn(); const { container } = renderComponent({ onClick, }); const btn = getByRole(container, "treeitem"); await userEvent.click(btn); expect(onClick).toHaveBeenCalledTimes(1); }); });