import React from "react"; import { mount, shallow } from "enzyme"; import ModalDialog from "."; describe("", () => { it("renders without error", () => { const wrapper = mount(); expect(wrapper).toExist(); }); it("accepts id", () => { const wrapper = mount(); expect(wrapper.prop("id")).toEqual("testId"); }); it("accepts className", () => { const wrapper = mount(); expect(wrapper.prop("className")).toEqual("test"); }); it("accepts style", () => { const wrapper = mount(); expect(wrapper.getDOMNode().style).toHaveProperty("color", "red"); }); it("modal displayType prop", () => { const wrapper = mount(); expect(wrapper.prop("displayType")).toEqual("modal"); }); it("aside displayType prop", () => { const wrapper = mount(); expect(wrapper.prop("displayType")).toEqual("aside"); }); it("exist scale prop", () => { const wrapper = mount(); expect(wrapper.prop("scale")).toEqual(true); }); it("componentWillUnmount() lifecycle test", () => { const wrapper = mount(); const componentWillUnmount = jest.spyOn( wrapper.instance(), "componentWillUnmount" ); wrapper.unmount(); expect(componentWillUnmount).toHaveBeenCalled(); }); it("componentDidUpdate() state lifecycle test", () => { const wrapper = shallow(); const instance = wrapper.instance(); instance.componentDidUpdate(wrapper.props(), wrapper.state()); expect(wrapper.state()).toBe(wrapper.state()); }); it("call popstate()", () => { const onClose = jest.fn(); const wrapper = shallow(); const instance = wrapper.instance(); instance.popstate(); expect(onClose).toBeCalled(); }); it("call resize()", () => { const wrapper = shallow(); const instance = wrapper.instance(); instance.resize(); expect(wrapper.state("displayType")).toEqual("aside"); }); });