mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-03 12:54:29 +00:00
test(studio): add T4 op-contract stubs for editor dispatch boundary (#1243)
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
/**
|
||||
* T4 — Op contract stubs.
|
||||
*
|
||||
* These tests define the expected shape of the Studio editor operation (op) dispatch boundary
|
||||
* that will be introduced during R5 (op-shape refactor) and R6 (runtime bridge).
|
||||
* All are .todo until the dispatch boundary is exposed.
|
||||
*/
|
||||
import { describe, it } from "vitest";
|
||||
|
||||
describe("T4 — op contract: move", () => {
|
||||
it.todo("move op has { type: 'move', id, x, y } shape");
|
||||
it.todo("move op applied to element produces updated left/top style values");
|
||||
it.todo("move op is recorded in edit history with label 'Move layer'");
|
||||
it.todo("move op coalesces when dragging (same id, within coalesce window)");
|
||||
});
|
||||
|
||||
describe("T4 — op contract: resize", () => {
|
||||
it.todo("resize op has { type: 'resize', id, width, height } shape");
|
||||
it.todo("resize op applied updates width/height style values");
|
||||
it.todo("resize op is recorded in edit history with label 'Resize layer'");
|
||||
});
|
||||
|
||||
describe("T4 — op contract: retime", () => {
|
||||
it.todo("retime op has { type: 'retime', id, startTime, duration } shape");
|
||||
it.todo("retime op updates data-start/data-end attributes on the element");
|
||||
it.todo("retime op is recorded in edit history with label 'Retime layer'");
|
||||
});
|
||||
|
||||
describe("T4 — op contract: style", () => {
|
||||
it.todo("style op has { type: 'style', id, prop, value } shape");
|
||||
it.todo("style op applied updates the correct inline style property");
|
||||
it.todo("style op coalesces same id+prop edits within window");
|
||||
});
|
||||
|
||||
describe("T4 — op contract: dispatch boundary", () => {
|
||||
it.todo("dispatch emits origin:'studio' on every op for SDK origin guard");
|
||||
it.todo("applyPatches with origin:'applyPatches' does not push to undo stack");
|
||||
it.todo("dispatching an unknown op type throws at the boundary, not silently fails");
|
||||
});
|
||||
Reference in New Issue
Block a user