Update tests for project document JSON serialization with editor preferences
This commit is contained in:
@@ -2,6 +2,7 @@ import { describe, expect, it } from "vitest";
|
|||||||
|
|
||||||
import {
|
import {
|
||||||
DEFAULT_PROJECT_NAME,
|
DEFAULT_PROJECT_NAME,
|
||||||
|
DEFAULT_SCENE_EDITOR_SNAP_STEP,
|
||||||
PLAYER_START_GAMEPAD_CAMERA_LOOK_SCENE_DOCUMENT_VERSION,
|
PLAYER_START_GAMEPAD_CAMERA_LOOK_SCENE_DOCUMENT_VERSION,
|
||||||
RUNNER_LOADING_SCREEN_SCENE_DOCUMENT_VERSION,
|
RUNNER_LOADING_SCREEN_SCENE_DOCUMENT_VERSION,
|
||||||
SCENE_DOCUMENT_VERSION,
|
SCENE_DOCUMENT_VERSION,
|
||||||
@@ -62,6 +63,40 @@ describe("project document JSON", () => {
|
|||||||
};
|
};
|
||||||
document.scenes["scene-main"].entities[mainExit.id] = mainExit;
|
document.scenes["scene-main"].entities[mainExit.id] = mainExit;
|
||||||
document.scenes["scene-cellar"].entities[cellarEntry.id] = cellarEntry;
|
document.scenes["scene-cellar"].entities[cellarEntry.id] = cellarEntry;
|
||||||
|
document.scenes["scene-main"].editorPreferences = {
|
||||||
|
...document.scenes["scene-main"].editorPreferences,
|
||||||
|
whiteboxSelectionMode: "face",
|
||||||
|
whiteboxSnapEnabled: false,
|
||||||
|
whiteboxSnapStep: 0.5,
|
||||||
|
viewportGridVisible: false,
|
||||||
|
viewportLayoutMode: "quad",
|
||||||
|
activeViewportPanelId: "bottomRight",
|
||||||
|
viewportQuadSplit: {
|
||||||
|
x: 0.42,
|
||||||
|
y: 0.58
|
||||||
|
},
|
||||||
|
viewportPanels: {
|
||||||
|
...document.scenes["scene-main"].editorPreferences.viewportPanels,
|
||||||
|
topLeft: {
|
||||||
|
viewMode: "front",
|
||||||
|
displayMode: "wireframe"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
document.scenes["scene-cellar"].editorPreferences = {
|
||||||
|
...document.scenes["scene-cellar"].editorPreferences,
|
||||||
|
whiteboxSelectionMode: "vertex",
|
||||||
|
whiteboxSnapStep: 2,
|
||||||
|
viewportLayoutMode: "quad",
|
||||||
|
activeViewportPanelId: "topRight",
|
||||||
|
viewportPanels: {
|
||||||
|
...document.scenes["scene-cellar"].editorPreferences.viewportPanels,
|
||||||
|
topLeft: {
|
||||||
|
viewMode: "side",
|
||||||
|
displayMode: "authoring"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
const serializedDocument = serializeProjectDocument(document);
|
const serializedDocument = serializeProjectDocument(document);
|
||||||
|
|
||||||
@@ -88,6 +123,16 @@ describe("project document JSON", () => {
|
|||||||
expect(migratedDocument.version).toBe(SCENE_DOCUMENT_VERSION);
|
expect(migratedDocument.version).toBe(SCENE_DOCUMENT_VERSION);
|
||||||
expect(migratedDocument.name).toBe(DEFAULT_PROJECT_NAME);
|
expect(migratedDocument.name).toBe(DEFAULT_PROJECT_NAME);
|
||||||
expect(migratedDocument.scenes["scene-main"]?.name).toBe("Legacy Entry");
|
expect(migratedDocument.scenes["scene-main"]?.name).toBe("Legacy Entry");
|
||||||
|
expect(migratedDocument.scenes["scene-main"]?.editorPreferences).toMatchObject(
|
||||||
|
{
|
||||||
|
whiteboxSelectionMode: "object",
|
||||||
|
whiteboxSnapEnabled: true,
|
||||||
|
whiteboxSnapStep: DEFAULT_SCENE_EDITOR_SNAP_STEP,
|
||||||
|
viewportGridVisible: true,
|
||||||
|
viewportLayoutMode: "single",
|
||||||
|
activeViewportPanelId: "topLeft"
|
||||||
|
}
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("migrates v23 project documents without Scene Entry and Scene Exit entities", () => {
|
it("migrates v23 project documents without Scene Entry and Scene Exit entities", () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user