// @vitest-environment jsdom import { describe, expect, it, vi } from "vitest"; import { renderHook } from "@testing-library/react"; import { useItemTriggers } from "./useContextMenu"; describe("useItemTriggers", () => { it("hands each item the same trigger across renders, so a memo card is not re-rendered", () => { const items = [{ id: 1 }, { id: 2 }]; const triggerProps = vi.fn((it: { id: number }) => ({ "data-id": it.id })); const { result, rerender } = renderHook(() => useItemTriggers(items, triggerProps)); const first = result.current; rerender(); expect(result.current[0]).toBe(first[0]); expect(result.current[1]).toBe(first[1]); expect(result.current[1]!()).toEqual({ "data-id": 2 }); }); });