/* * Copyright OpenSearch Contributors * SPDX-License-Identifier: Apache-2.0 */ import React from "react"; import "@testing-library/jest-dom/extend-expect"; import { render, screen, cleanup } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import SnapshotRenameOptions from "./SnapshotRenameOptions"; const testProps = { onDoNotRenameToggle: jest.fn(), onAddPrefixToggle: jest.fn(), onRenameIndicesToggle: jest.fn(), width: "200" }; afterEach(() => { cleanup(); }); describe("SnapshotRenameOptions component", () => { it("renders without error", () => { const { container } = render( ); expect(screen.getByText("Do not rename")).toBeInTheDocument(); expect(screen.getByText("Add prefix to restored index names")).toBeInTheDocument(); expect(screen.getByText("Rename using regular expression (Advanced)")).toBeInTheDocument(); expect(screen.getByLabelText("Do not rename")).toBeChecked(); expect(screen.getByLabelText("Add prefix to restored index names")).not.toBeChecked(); expect(screen.getByLabelText("Rename using regular expression (Advanced)")).not.toBeChecked(); expect(container).toMatchSnapshot(); }); it("accepts user input", () => { render( ); userEvent.click(screen.getByLabelText("Add prefix to restored index names")); expect(testProps.onAddPrefixToggle).toBeCalled(); userEvent.click(screen.getByLabelText("Rename using regular expression (Advanced)")); expect(testProps.onRenameIndicesToggle).toBeCalled(); cleanup(); render( ) userEvent.click(screen.getByLabelText("Do not rename")); expect(testProps.onDoNotRenameToggle).toBeCalled(); }); });