Files
simple-react-app-kit/packages/blocks/src/lib/command-actions.test.tsx
T

36 lines
1007 B
TypeScript
Raw Normal View History

// @vitest-environment jsdom
import { fireEvent, render } from "@testing-library/react"
import { describe, expect, it, vi } from "vitest"
import {
getNavigationCommandProps,
NavigationActionTarget,
navigationActions,
} from "./command-actions"
describe("navigation command", () => {
it("connects an action button to its command target", () => {
expect(getNavigationCommandProps(navigationActions.search)).toEqual({
command: "--invoke",
commandfor: "navigation-action-search",
})
})
it("invokes the matching command target", () => {
const onInvoke = vi.fn()
const { container } = render(
<NavigationActionTarget
action={navigationActions.search}
onInvoke={onInvoke}
/>
)
const target = container.querySelector("#navigation-action-search")
const event = new Event("command")
Object.defineProperty(event, "command", { value: "--invoke" })
fireEvent(target!, event)
expect(onInvoke).toHaveBeenCalledOnce()
})
})