Spaces:
Build error
Build error
| import { describe, it, expect, vi } from "vitest"; | |
| import { render, screen } from "@testing-library/react"; | |
| import userEvent from "@testing-library/user-event"; | |
| import { ContextMenuListItem } from "#/components/features/context-menu/context-menu-list-item"; | |
| describe("ContextMenuListItem", () => { | |
| it("should render the component with the children", () => { | |
| const onClickMock = vi.fn(); | |
| render( | |
| <ContextMenuListItem onClick={onClickMock}>Test</ContextMenuListItem>, | |
| ); | |
| expect(screen.getByTestId("context-menu-list-item")).toBeInTheDocument(); | |
| expect(screen.getByText("Test")).toBeInTheDocument(); | |
| }); | |
| it("should call the onClick callback when clicked", async () => { | |
| const user = userEvent.setup(); | |
| const onClickMock = vi.fn(); | |
| render( | |
| <ContextMenuListItem onClick={onClickMock}>Test</ContextMenuListItem>, | |
| ); | |
| const element = screen.getByTestId("context-menu-list-item"); | |
| await user.click(element); | |
| expect(onClickMock).toHaveBeenCalledOnce(); | |
| }); | |
| it("should not call the onClick callback when clicked and the button is disabled", async () => { | |
| const user = userEvent.setup(); | |
| const onClickMock = vi.fn(); | |
| render( | |
| <ContextMenuListItem onClick={onClickMock} isDisabled> | |
| Test | |
| </ContextMenuListItem>, | |
| ); | |
| const element = screen.getByTestId("context-menu-list-item"); | |
| await user.click(element); | |
| expect(onClickMock).not.toHaveBeenCalled(); | |
| }); | |
| }); | |