Add test case for committing transform preview on Enter key press
This commit is contained in:
@@ -765,6 +765,62 @@ describe("transform foundation integration", () => {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("commits the latest local transform preview with Enter", async () => {
|
||||||
|
const { store, brush, viewportHost } = await renderTransformFixtureApp();
|
||||||
|
|
||||||
|
await act(async () => {
|
||||||
|
fireEvent.click(
|
||||||
|
screen.getByRole("button", { name: /^Brush Transform Fixture$/ })
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
fireEvent.keyDown(window, {
|
||||||
|
key: "g",
|
||||||
|
code: "KeyG"
|
||||||
|
});
|
||||||
|
|
||||||
|
const previewSession = {
|
||||||
|
...getLatestTransformSession(store),
|
||||||
|
preview: {
|
||||||
|
kind: "brush" as const,
|
||||||
|
center: {
|
||||||
|
x: 9,
|
||||||
|
y: brush.center.y,
|
||||||
|
z: brush.center.z
|
||||||
|
},
|
||||||
|
rotationDegrees: {
|
||||||
|
...brush.rotationDegrees
|
||||||
|
},
|
||||||
|
size: {
|
||||||
|
...brush.size
|
||||||
|
},
|
||||||
|
geometry: createBoxBrush({ size: brush.size }).geometry
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
emitTransformPreview(viewportHost, previewSession);
|
||||||
|
|
||||||
|
expect(getLatestTransformSession(store).preview).not.toMatchObject({
|
||||||
|
center: {
|
||||||
|
x: 9
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
fireEvent.keyDown(window, {
|
||||||
|
key: "Enter",
|
||||||
|
code: "Enter"
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(store.getState().viewportTransientState.transformSession).toEqual({
|
||||||
|
kind: "none"
|
||||||
|
});
|
||||||
|
expect(store.getState().document.brushes[brush.id].center).toEqual({
|
||||||
|
x: 9,
|
||||||
|
y: brush.center.y,
|
||||||
|
z: brush.center.z
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
it("moves a model instance through the shared transform controller", async () => {
|
it("moves a model instance through the shared transform controller", async () => {
|
||||||
const { store, modelInstance, viewportHost } =
|
const { store, modelInstance, viewportHost } =
|
||||||
await renderTransformFixtureApp();
|
await renderTransformFixtureApp();
|
||||||
|
|||||||
Reference in New Issue
Block a user