Update editor tool mode and preview state tests

This commit is contained in:
2026-04-03 00:23:41 +02:00
parent 0c8a990176
commit 697ad5cbca

View File

@@ -104,14 +104,14 @@ describe("EditorStore", () => {
it("restores the previous editor tool when leaving play mode", () => { it("restores the previous editor tool when leaving play mode", () => {
const store = createEditorStore(); const store = createEditorStore();
store.setToolMode("box-create"); store.setToolMode("create");
store.enterPlayMode(); store.enterPlayMode();
expect(store.getState().toolMode).toBe("play"); expect(store.getState().toolMode).toBe("play");
store.exitPlayMode(); store.exitPlayMode();
expect(store.getState().toolMode).toBe("box-create"); expect(store.getState().toolMode).toBe("create");
}); });
it("tracks viewport layout and per-panel state independently from the document", () => { it("tracks viewport layout and per-panel state independently from the document", () => {
@@ -134,7 +134,7 @@ describe("EditorStore", () => {
expect(store.getState().viewportPanels.bottomRight.displayMode).toBe("normal"); expect(store.getState().viewportPanels.bottomRight.displayMode).toBe("normal");
}); });
it("shares transient box-create preview state across viewport panels", () => { it("shares transient creation preview state across viewport panels", () => {
const store = createEditorStore(); const store = createEditorStore();
expect(store.getState().viewportTransientState.toolPreview).toEqual({ expect(store.getState().viewportTransientState.toolPreview).toEqual({
@@ -142,8 +142,11 @@ describe("EditorStore", () => {
}); });
store.setViewportToolPreview({ store.setViewportToolPreview({
kind: "box-create", kind: "create",
sourcePanelId: "topLeft", sourcePanelId: "topLeft",
target: {
kind: "box-brush"
},
center: { center: {
x: 4, x: 4,
y: 0, y: 0,
@@ -152,8 +155,11 @@ describe("EditorStore", () => {
}); });
expect(store.getState().viewportTransientState.toolPreview).toEqual({ expect(store.getState().viewportTransientState.toolPreview).toEqual({
kind: "box-create", kind: "create",
sourcePanelId: "topLeft", sourcePanelId: "topLeft",
target: {
kind: "box-brush"
},
center: { center: {
x: 4, x: 4,
y: 0, y: 0,
@@ -161,30 +167,69 @@ describe("EditorStore", () => {
} }
}); });
store.setViewportToolPreview({
kind: "create",
sourcePanelId: "bottomRight",
target: {
kind: "entity",
entityKind: "pointLight",
audioAssetId: null
},
center: {
x: 2,
y: 1,
z: -3
}
});
expect(store.getState().viewportTransientState.toolPreview).toEqual({
kind: "create",
sourcePanelId: "bottomRight",
target: {
kind: "entity",
entityKind: "pointLight",
audioAssetId: null
},
center: {
x: 2,
y: 1,
z: -3
}
});
store.clearViewportToolPreview("topRight"); store.clearViewportToolPreview("topRight");
expect(store.getState().viewportTransientState.toolPreview).toEqual({ expect(store.getState().viewportTransientState.toolPreview).toEqual({
kind: "box-create", kind: "create",
sourcePanelId: "topLeft", sourcePanelId: "bottomRight",
target: {
kind: "entity",
entityKind: "pointLight",
audioAssetId: null
},
center: { center: {
x: 4, x: 2,
y: 0, y: 1,
z: 8 z: -3
} }
}); });
store.clearViewportToolPreview("topLeft"); store.clearViewportToolPreview("bottomRight");
expect(store.getState().viewportTransientState.toolPreview).toEqual({ expect(store.getState().viewportTransientState.toolPreview).toEqual({
kind: "none" kind: "none"
}); });
}); });
it("clears transient viewport preview when leaving box-create mode", () => { it("clears transient viewport preview when leaving create mode", () => {
const store = createEditorStore(); const store = createEditorStore();
store.setToolMode("box-create"); store.setToolMode("create");
store.setViewportToolPreview({ store.setViewportToolPreview({
kind: "box-create", kind: "create",
sourcePanelId: "bottomRight", sourcePanelId: "bottomRight",
target: {
kind: "model-instance",
assetId: "asset-1"
},
center: null center: null
}); });
store.setToolMode("select"); store.setToolMode("select");