/* * 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 AddPrefixInput from "./AddPrefixInput"; const testProps = { getPrefix: jest.fn() }; beforeEach(() => { render(); }); afterEach(() => { cleanup(); }); describe("AddPrefixInput component", () => { it("renders without error", () => { expect(screen.getByText("Specify prefix for restored index names")).toBeInTheDocument(); expect(screen.getByTestId("prefixInput")).toBeInTheDocument(); const { container } = render(); expect(container).toMatchSnapshot(); }); it("accepts user input", () => { userEvent.type(screen.getByTestId("prefixInput"), "test_prefix_"); expect(screen.getByTestId("prefixInput")).toHaveValue("restored_test_prefix_"); }); it("sends user input to parent component via getPrefix", () => { userEvent.type(screen.getByTestId("prefixInput"), "four"); // getPrefix is prop sent from parent component to retrieve user input expect(testProps.getPrefix).toBeCalledTimes(4); }); });