DocSpace-client/packages/asc-web-components/help-button/help-button.test.js
2021-02-24 17:42:09 +03:00

81 lines
2.2 KiB
JavaScript

import React from "react";
import { mount, shallow } from "enzyme";
import HelpButton from ".";
const tooltipContent = "You tooltip content";
describe("<HelpButton />", () => {
it("HelpButton renders without error", () => {
const wrapper = mount(<HelpButton tooltipContent={tooltipContent} />);
expect(wrapper).toExist();
});
it("HelpButton renders without error in Aside mode", () => {
const wrapper = mount(
<HelpButton
tooltipContent={tooltipContent}
displayType="aside"
helpButtonHeaderContent="Header text"
/>
);
expect(wrapper).toExist();
});
it("HelpButton componentWillUnmount test", () => {
const wrapper = mount(<HelpButton tooltipContent={tooltipContent} />);
const componentWillUnmount = jest.spyOn(
wrapper.instance(),
"componentWillUnmount"
);
wrapper.unmount();
expect(componentWillUnmount).toHaveBeenCalled();
});
it("HelpButton test afterHide function", () => {
const wrapper = shallow(
<HelpButton tooltipContent={tooltipContent} />
).instance();
wrapper.afterHide();
expect(wrapper.state.isOpen).toEqual(false);
wrapper.setState({ isOpen: true });
wrapper.afterHide();
expect(wrapper.state.isOpen).toEqual(false);
});
it("accepts id", () => {
const wrapper = mount(
<HelpButton tooltipContent={tooltipContent} id="testId" />
);
expect(wrapper.prop("id")).toEqual("testId");
});
it("accepts className", () => {
const wrapper = mount(
<HelpButton tooltipContent={tooltipContent} className="test" />
);
expect(wrapper.prop("className")).toEqual("test");
});
it("accepts style", () => {
const wrapper = mount(
<HelpButton tooltipContent={tooltipContent} style={{ color: "red" }} />
);
expect(wrapper.getDOMNode().style).toHaveProperty("color", "red");
});
it("", () => {
const wrapper = mount(
<HelpButton tooltipContent={tooltipContent} />
).instance();
wrapper.componentDidUpdate(wrapper.props);
wrapper.componentDidUpdate({ displayType: "auto" });
wrapper.componentDidUpdate({ displayType: "aside" });
expect(wrapper.props).toBe(wrapper.props);
});
});