2020-10-16 13:16:01 +00:00
|
|
|
import React from "react";
|
|
|
|
import { mount, shallow } from "enzyme";
|
|
|
|
import ModalDialog from ".";
|
|
|
|
|
|
|
|
describe("<ModalDialog />", () => {
|
|
|
|
it("renders without error", () => {
|
|
|
|
const wrapper = mount(<ModalDialog visible={false} />);
|
2019-09-08 14:50:20 +00:00
|
|
|
|
|
|
|
expect(wrapper).toExist();
|
|
|
|
});
|
2019-12-03 12:05:00 +00:00
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
it("accepts id", () => {
|
|
|
|
const wrapper = mount(<ModalDialog id="testId" />);
|
2019-12-03 12:05:00 +00:00
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
expect(wrapper.prop("id")).toEqual("testId");
|
2019-12-03 12:05:00 +00:00
|
|
|
});
|
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
it("accepts className", () => {
|
|
|
|
const wrapper = mount(<ModalDialog className="test" />);
|
2019-12-03 12:05:00 +00:00
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
expect(wrapper.prop("className")).toEqual("test");
|
2019-12-03 12:05:00 +00:00
|
|
|
});
|
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
it("accepts style", () => {
|
|
|
|
const wrapper = mount(<ModalDialog style={{ color: "red" }} />);
|
2019-12-03 12:05:00 +00:00
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
expect(wrapper.getDOMNode().style).toHaveProperty("color", "red");
|
2019-12-03 12:05:00 +00:00
|
|
|
});
|
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
it("modal displayType prop", () => {
|
|
|
|
const wrapper = mount(<ModalDialog displayType="modal" />);
|
2019-12-03 12:05:00 +00:00
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
expect(wrapper.prop("displayType")).toEqual("modal");
|
2019-12-03 12:05:00 +00:00
|
|
|
});
|
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
it("aside displayType prop", () => {
|
|
|
|
const wrapper = mount(<ModalDialog displayType="aside" />);
|
2019-12-03 12:05:00 +00:00
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
expect(wrapper.prop("displayType")).toEqual("aside");
|
2019-12-03 12:05:00 +00:00
|
|
|
});
|
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
it("exist scale prop", () => {
|
|
|
|
const wrapper = mount(<ModalDialog scale />);
|
2019-12-03 12:05:00 +00:00
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
expect(wrapper.prop("scale")).toEqual(true);
|
2019-12-03 12:05:00 +00:00
|
|
|
});
|
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
it("componentWillUnmount() lifecycle test", () => {
|
2019-12-03 12:05:00 +00:00
|
|
|
const wrapper = mount(<ModalDialog />);
|
2020-10-16 13:16:01 +00:00
|
|
|
const componentWillUnmount = jest.spyOn(
|
|
|
|
wrapper.instance(),
|
|
|
|
"componentWillUnmount"
|
|
|
|
);
|
2019-12-03 12:05:00 +00:00
|
|
|
|
|
|
|
wrapper.unmount();
|
|
|
|
expect(componentWillUnmount).toHaveBeenCalled();
|
|
|
|
});
|
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
it("componentDidUpdate() state lifecycle test", () => {
|
2019-12-03 12:05:00 +00:00
|
|
|
const wrapper = shallow(<ModalDialog displayType="aside" visible />);
|
|
|
|
const instance = wrapper.instance();
|
|
|
|
|
|
|
|
instance.componentDidUpdate(wrapper.props(), wrapper.state());
|
|
|
|
|
|
|
|
expect(wrapper.state()).toBe(wrapper.state());
|
|
|
|
});
|
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
it("call popstate()", () => {
|
2019-12-03 12:05:00 +00:00
|
|
|
const onClose = jest.fn();
|
|
|
|
const wrapper = shallow(<ModalDialog onClose={onClose} />);
|
|
|
|
const instance = wrapper.instance();
|
|
|
|
|
|
|
|
instance.popstate();
|
|
|
|
|
|
|
|
expect(onClose).toBeCalled();
|
|
|
|
});
|
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
it("call resize()", () => {
|
2019-12-03 12:05:00 +00:00
|
|
|
const wrapper = shallow(<ModalDialog />);
|
|
|
|
const instance = wrapper.instance();
|
|
|
|
|
|
|
|
instance.resize();
|
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
expect(wrapper.state("displayType")).toEqual("aside");
|
2019-12-03 12:05:00 +00:00
|
|
|
});
|
2019-09-08 14:50:20 +00:00
|
|
|
});
|