Refactor camera state and view mode handling in e2e tests
This commit is contained in:
@@ -50,8 +50,6 @@ test("whitebox component selection modes keep object picking intentional across
|
||||
}
|
||||
});
|
||||
|
||||
await page.getByTestId("viewport-layout-quad").click();
|
||||
|
||||
await page.evaluate(({ target }) => {
|
||||
const store = (window as Window & {
|
||||
__webeditor3dEditorStore?: {
|
||||
@@ -64,24 +62,13 @@ test("whitebox component selection modes keep object picking intentional across
|
||||
orthographicZoom: number;
|
||||
};
|
||||
};
|
||||
topRight: {
|
||||
cameraState: {
|
||||
target: { x: number; y: number; z: number };
|
||||
perspectiveOrbit: { radius: number; theta: number; phi: number };
|
||||
orthographicZoom: number;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
setViewportPanelCameraState(
|
||||
panelId: "topLeft" | "topRight",
|
||||
cameraState: {
|
||||
target: { x: number; y: number; z: number };
|
||||
perspectiveOrbit: { radius: number; theta: number; phi: number };
|
||||
orthographicZoom: number;
|
||||
}
|
||||
): void;
|
||||
setViewportPanelViewMode(panelId: "topRight", viewMode: "top"): void;
|
||||
setViewportPanelCameraState(panelId: "topLeft", cameraState: {
|
||||
target: { x: number; y: number; z: number };
|
||||
perspectiveOrbit: { radius: number; theta: number; phi: number };
|
||||
orthographicZoom: number;
|
||||
}): void;
|
||||
};
|
||||
}).__webeditor3dEditorStore;
|
||||
|
||||
@@ -90,7 +77,6 @@ test("whitebox component selection modes keep object picking intentional across
|
||||
}
|
||||
|
||||
const topLeftCameraState = store.getState().viewportPanels.topLeft.cameraState;
|
||||
const topRightCameraState = store.getState().viewportPanels.topRight.cameraState;
|
||||
|
||||
store.setViewportPanelCameraState("topLeft", {
|
||||
...topLeftCameraState,
|
||||
@@ -101,12 +87,6 @@ test("whitebox component selection modes keep object picking intentional across
|
||||
phi: 1.08
|
||||
}
|
||||
});
|
||||
store.setViewportPanelViewMode("topRight", "top");
|
||||
store.setViewportPanelCameraState("topRight", {
|
||||
...topRightCameraState,
|
||||
target,
|
||||
orthographicZoom: 8
|
||||
});
|
||||
}, { target: brush.center });
|
||||
|
||||
await expect(page.getByTestId("viewport-selection-mode-topLeft")).toHaveText("Object");
|
||||
@@ -118,6 +98,44 @@ test("whitebox component selection modes keep object picking intentional across
|
||||
ids: [brush.id]
|
||||
});
|
||||
|
||||
await page.getByTestId("viewport-layout-quad").click();
|
||||
|
||||
await page.evaluate(({ target }) => {
|
||||
const store = (window as Window & {
|
||||
__webeditor3dEditorStore?: {
|
||||
getState(): {
|
||||
viewportPanels: {
|
||||
topRight: {
|
||||
cameraState: {
|
||||
target: { x: number; y: number; z: number };
|
||||
perspectiveOrbit: { radius: number; theta: number; phi: number };
|
||||
orthographicZoom: number;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
setViewportPanelViewMode(panelId: "topRight", viewMode: "top"): void;
|
||||
setViewportPanelCameraState(panelId: "topRight", cameraState: {
|
||||
target: { x: number; y: number; z: number };
|
||||
perspectiveOrbit: { radius: number; theta: number; phi: number };
|
||||
orthographicZoom: number;
|
||||
}): void;
|
||||
};
|
||||
}).__webeditor3dEditorStore;
|
||||
|
||||
if (store === undefined) {
|
||||
throw new Error("Editor store debug hook is unavailable.");
|
||||
}
|
||||
|
||||
const topRightCameraState = store.getState().viewportPanels.topRight.cameraState;
|
||||
store.setViewportPanelViewMode("topRight", "top");
|
||||
store.setViewportPanelCameraState("topRight", {
|
||||
...topRightCameraState,
|
||||
target,
|
||||
orthographicZoom: 8
|
||||
});
|
||||
}, { target: brush.center });
|
||||
|
||||
await page.getByTestId("whitebox-selection-mode-face").click();
|
||||
await expect(page.getByTestId("viewport-selection-mode-topRight")).toHaveText("Face");
|
||||
await clickViewportAtRatio(page, "topRight", 0.5, 0.5);
|
||||
|
||||
Reference in New Issue
Block a user