import React from "react"; import { render, screen } from "@testing-library/react"; import "@testing-library/jest-dom"; import VerticalDotsReactSvgUrl from "PUBLIC_DIR/images/vertical-dots.react.svg?url"; import { ContextMenuButton } from "./ContextMenuButton"; import { ContextMenuButtonDisplayType } from "./ContextMenuButton.enums"; const baseData = () => [ { key: "key", label: "label", onClick: jest.fn(), }, ]; const baseProps = { title: "Actions", iconName: VerticalDotsReactSvgUrl, size: 16, color: "#A3A9AE", getData: baseData, isDisabled: false, }; describe("", () => { it("renders without error", () => { render( , ); expect(screen.getByTestId("context-menu-button")).toBeInTheDocument(); }); // it("render with full custom props", () => { // const wrapper = mount( // jest.fn()} // // @ts-expect-error TS(2708): Cannot use namespace 'jest' as a value. // onMouseEnter={() => jest.fn()} // // @ts-expect-error TS(2708): Cannot use namespace 'jest' as a value. // onMouseLeave={() => jest.fn()} // // @ts-expect-error TS(2708): Cannot use namespace 'jest' as a value. // onMouseOver={() => jest.fn()} // // @ts-expect-error TS(2708): Cannot use namespace 'jest' as a value. // onMouseOut={() => jest.fn()} // getData={() => [ // { // key: "key", // icon: "CatalogFolderIcon", // // @ts-expect-error TS(2708): Cannot use namespace 'jest' as a value. // onClick: () => jest.fn(), // }, // { // label: "CatalogFolderIcon", // // @ts-expect-error TS(2708): Cannot use namespace 'jest' as a value. // onClick: () => jest.fn(), // }, // {}, // ]} // directionX="right" // opened={true} // />, // ); // // @ts-expect-error TS(2304): Cannot find name 'expect'. // expect(wrapper).toExist(); // }); // it("disabled", () => { // const wrapper = mount( // // @ts-expect-error TS(2322): Type '{ isDisabled: boolean; title: string; iconNa... Remove this comment to see the full error message // , // ); // // @ts-expect-error TS(2304): Cannot find name 'expect'. // expect(wrapper.prop("isDisabled")).toEqual(true); // }); // it("not re-render", () => { // const wrapper = shallow().instance(); // const shouldUpdate = wrapper.shouldComponentUpdate( // wrapper.props, // wrapper.state, // ); // // @ts-expect-error TS(2304): Cannot find name 'expect'. // expect(shouldUpdate).toBe(false); // }); // it("re-render", () => { // const wrapper = shallow().instance(); // const shouldUpdate = wrapper.shouldComponentUpdate( // { opened: true }, // wrapper.state, // ); // // @ts-expect-error TS(2304): Cannot find name 'expect'. // expect(shouldUpdate).toBe(true); // }); // it("causes function onDropDownItemClick()", () => { // // @ts-expect-error TS(2708): Cannot use namespace 'jest' as a value. // const onClick = jest.fn(); // const wrapper = shallow( // // @ts-expect-error TS(2322): Type '{ opened: boolean; onClick: any; title: stri... Remove this comment to see the full error message // , // ); // const instance = wrapper.instance(); // instance.onDropDownItemClick({ // key: "key", // label: "label", // onClick: onClick, // }); // // @ts-expect-error TS(2304): Cannot find name 'expect'. // expect(wrapper.state("isOpen")).toBe(false); // // @ts-expect-error TS(2304): Cannot find name 'expect'. // expect(onClick).toHaveBeenCalled(); // }); // it("causes function onIconButtonClick()", () => { // const wrapper = shallow( // // @ts-expect-error TS(2322): Type '{ isDisabled: boolean; opened: boolean; titl... Remove this comment to see the full error message // , // ); // const instance = wrapper.instance(); // instance.onIconButtonClick(); // // @ts-expect-error TS(2304): Cannot find name 'expect'. // expect(wrapper.state("isOpen")).toBe(false); // }); // it("causes function onIconButtonClick() with isDisabled prop", () => { // const wrapper = shallow( // // @ts-expect-error TS(2322): Type '{ isDisabled: boolean; opened: boolean; titl... Remove this comment to see the full error message // , // ); // const instance = wrapper.instance(); // instance.onIconButtonClick(); // // @ts-expect-error TS(2304): Cannot find name 'expect'. // expect(wrapper.state("isOpen")).toBe(true); // }); // it("componentDidUpdate() state lifecycle test", () => { // const wrapper = shallow(); // const instance = wrapper.instance(); // wrapper.setState({ isOpen: false }); // instance.componentDidUpdate(wrapper.props(), wrapper.state()); // // @ts-expect-error TS(2304): Cannot find name 'expect'. // expect(wrapper.state()).toBe(wrapper.state()); // }); // it("componentDidUpdate() props lifecycle test", () => { // const wrapper = shallow(); // const instance = wrapper.instance(); // instance.componentDidUpdate({ opened: true }, wrapper.state()); // // @ts-expect-error TS(2304): Cannot find name 'expect'. // expect(wrapper.props()).toBe(wrapper.props()); // }); // it("accepts id", () => { // // @ts-expect-error TS(2322): Type '{ id: string; title: string; iconName: any; ... Remove this comment to see the full error message // const wrapper = mount(); // // @ts-expect-error TS(2304): Cannot find name 'expect'. // expect(wrapper.prop("id")).toEqual("testId"); // }); // it("accepts className", () => { // const wrapper = mount( // // @ts-expect-error TS(2322): Type '{ className: string; title: string; iconName... Remove this comment to see the full error message // , // ); // // @ts-expect-error TS(2304): Cannot find name 'expect'. // expect(wrapper.prop("className")).toEqual("test"); // }); // it("accepts style", () => { // const wrapper = mount( // // @ts-expect-error TS(2322): Type '{ style: { color: string; }; title: string; ... Remove this comment to see the full error message // , // ); // // @ts-expect-error TS(2304): Cannot find name 'expect'. // expect(wrapper.getDOMNode().style).toHaveProperty("color", "red"); // }); });