import * as React from "react"; import { render, screen } from "@testing-library/react"; import EditableInput from "../../../src/components/EditableInput"; describe("EditableInput", () => { it("renders an accessible description if a description prop is supplied and a label prop is supplied", () => { const label = "input1"; const description = "this is a field"; render( ); const textbox = screen.getByRole("textbox", { name: label }); expect(textbox).toHaveAccessibleDescription(description); }); it("renders an accessible description if a description prop is supplied and a label prop is not supplied", () => { const description = "this is a field"; render(); const textbox = screen.getByRole("textbox"); expect(textbox).toHaveAccessibleDescription(description); }); it("renders an accessible description if optionalText is true", () => { render(); const textbox = screen.getByRole("textbox"); expect(textbox).toHaveAccessibleDescription(/optional/i); }); it("associates accessible descriptions with the correct inputs when multiple instances are present", () => { const descriptions = ["desc 1", "desc 2", "desc 3"]; render(
); const textboxes = screen.getAllByRole("textbox"); expect(textboxes[0]).toHaveAccessibleDescription(descriptions[0]); expect(textboxes[1]).toHaveAccessibleDescription(""); expect(textboxes[2]).toHaveAccessibleDescription(""); expect(textboxes[3]).toHaveAccessibleDescription(descriptions[1]); expect(textboxes[4]).toHaveAccessibleDescription(descriptions[2]); expect(textboxes[5]).toHaveAccessibleDescription(""); }); });