import { mount, shallow } from "enzyme"; import React from "react"; import { DeletePopup } from "./DeletePopup"; describe("Delete Popup snapshot test", () => { const setShowDeletePopupMock = jest.fn(); const setQueryMock = jest.fn(); const clearFeedbackMock = jest.fn(); const showFeedbackBarMock = jest.fn(); it("should render when showDeletePopup is true", () => { const wrapper = shallow( ); expect(wrapper.find("Modal").prop("isOpen")).toBeTruthy(); expect(wrapper).toMatchSnapshot(); }); it("should not render when showDeletePopup is false", () => { const wrapper = shallow( ); expect(wrapper.props().children.props.showDeletePopup).toBeFalsy(); expect(wrapper).toMatchSnapshot(); }); it("should call setQuery with an empty string and setShowDeletePopup(false) when delete button is clicked", () => { const wrapper = mount( ); wrapper.find("PrimaryButton").simulate("click"); expect(setQueryMock).toHaveBeenCalledWith(""); expect(setShowDeletePopupMock).toHaveBeenCalledWith(false); }); it("should call setShowDeletePopup(false) when close button is clicked", () => { const setShowDeletePopupMock = jest.fn(); const wrapper = mount( ); wrapper.find("DefaultButton").at(1).simulate("click"); expect(setShowDeletePopupMock).toHaveBeenCalledWith(false); }); it("should render the appropriate text content", () => { const wrapper = shallow( ); const textContent = wrapper .find("Text") .map((text, index) => {text.props().children}); expect(textContent).toEqual([ Delete code? , This will clear the query from the query builder pane along with all comments and also reset the prompt pane , ]); }); it("should have the correct inline style", () => { const wrapper = shallow( ); const stackStyle = wrapper.find("Stack[style]").props().style; expect(stackStyle).toEqual({ padding: "16px 24px", height: "auto" }); }); });