import { describe, expect, test } from "bun:test"; import { commandIds } from "@commands/ids"; import type { Dispatch } from "@commands/dispatcher"; import { handleOperationKey } from "./operation-keybinds"; describe("operation keybinds", () => { test.each([ ["g", "generate"], ["k", "chromaKey"], ] as const)("opens the %s operation without selecting a tool", (key, panel) => { const dispatched: unknown[] = []; const consumed = handleOperationKey({ event: { key, code: `Key${key.toUpperCase()}`, altKey: false, ctrlKey: false, metaKey: false, shiftKey: false }, dispatch: ((commandId: unknown, payload: unknown) => { dispatched.push({ commandId, payload }); return undefined; }) as unknown as Dispatch, }); expect(consumed).toBe(true); expect(dispatched).toEqual([{ commandId: commandIds.workspaceSetPanel, payload: { panel } }]); }); });