/** * @file Tests for InlineEditingContext - validates inline editing state management */ import { render } from "@testing-library/react"; import { useEffect, type FC } from "react"; import { InlineEditingProvider, useInlineEditing } from "./InlineEditingContext"; const Harness: FC = () => { const { state, startEditing, updateValue, confirmEdit, cancelEdit, isEditing } = useInlineEditing(); useEffect(() => { startEditing("n1", "title", "Hello"); updateValue("World"); // finish path 1 confirmEdit(); // start and cancel path startEditing("n1", "title", "Again"); cancelEdit(); }, [startEditing, updateValue, confirmEdit, cancelEdit]); return (
{String(state.isActive)}
{String(isEditing("n1", "title"))}
); }; describe("InlineEditingContext", () => { it("handles start/update/confirm/cancel flows", () => { const { getByTestId } = render( , ); expect(getByTestId("active").textContent).toBe("false"); expect(getByTestId("isEditing").textContent).toBe("false"); }); });