19 lines
877 B
TypeScript
19 lines
877 B
TypeScript
import { describe, expect, test } from "bun:test";
|
|
import { createInitialAppState } from "@editor/initial-state";
|
|
import { createAppStore } from "@editor/store";
|
|
import { createCommandRegistry } from "./registry";
|
|
import { viewportPanCommand } from "./viewport";
|
|
|
|
describe("command dispatcher", () => {
|
|
test("throws for unknown commands", () => {
|
|
const store = createAppStore(createInitialAppState("Test"), createCommandRegistry([]));
|
|
expect(() => store.dispatch("missing" as never, undefined as never)).toThrow("Unknown command: missing");
|
|
});
|
|
|
|
test("dispatch applies command result to store", () => {
|
|
const store = createAppStore(createInitialAppState("Test"), createCommandRegistry([viewportPanCommand]));
|
|
store.dispatch("viewport.pan", { delta: { x: 3, y: 7 } });
|
|
expect(store.getState().editor.viewport.center).toEqual({ x: 3, y: 7 });
|
|
});
|
|
});
|