/*
* Copyright OpenSearch Contributors
* SPDX-License-Identifier: Apache-2.0
*/
import React from "react";
import "@testing-library/jest-dom/extend-expect";
import { render, fireEvent } from "@testing-library/react";
import PolicyModal from "./PolicyModal";
describe(" spec", () => {
it("renders the component", () => {
render(
{}}
onEdit={() => {}}
/>
);
// EuiOverlayMask appends an element to the body so we should have three (used to be two, after upgrading appears to have 3 now), an empty div from react-test-library
// and our EuiOverlayMask element
expect(document.body.children).toHaveLength(3);
expect(document.body.children[2]).toMatchSnapshot();
});
it("disables edit button", () => {
const { getByTestId } = render(
{}}
onEdit={() => {
{
}
}}
/>
);
expect(getByTestId("policyModalEditButton")).toBeDisabled();
});
it("calls edit when edit button clicked", () => {
const onEdit = jest.fn();
const { getByTestId } = render(
{}}
onEdit={onEdit}
/>
);
expect(getByTestId("policyModalEditButton")).toBeEnabled();
fireEvent.click(getByTestId("policyModalEditButton"));
expect(onEdit).toHaveBeenCalled();
});
it("calls close when close button clicked", () => {
const onClose = jest.fn();
const { getByTestId } = render(
{}}
/>
);
fireEvent.click(getByTestId("policyModalCloseButton"));
expect(onClose).toHaveBeenCalled();
});
});