From 96f22195cd7d4862c69e9eb1cf387656371fe235 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Mon, 18 May 2026 16:15:57 +0200 Subject: [PATCH] Test: Ensure starter materials without 'kind' are correctly migrated to read-only starter materials --- .../serialization/scene-document-json.test.ts | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tests/serialization/scene-document-json.test.ts b/tests/serialization/scene-document-json.test.ts index 994d1831..4335bddd 100644 --- a/tests/serialization/scene-document-json.test.ts +++ b/tests/serialization/scene-document-json.test.ts @@ -4069,6 +4069,31 @@ describe("scene document JSON", () => { ); }); + it("migrates starter material records without kind to read-only starter materials", () => { + const legacyDocument = createEmptySceneDocument({ + name: "Starter Material Kind Migration" + }); + const legacyMaterial = { + ...legacyDocument.materials["starter-amber-grid"] + } as Record; + + delete legacyMaterial.kind; + + const migratedDocument = migrateSceneDocument({ + ...legacyDocument, + version: SPLINE_CORRIDOR_JUNCTION_SHAPE_SCENE_DOCUMENT_VERSION, + materials: { + ...legacyDocument.materials, + "starter-amber-grid": legacyMaterial + } + }); + + expect(migratedDocument.materials["starter-amber-grid"]).toMatchObject({ + id: "starter-amber-grid", + kind: "starter" + }); + }); + it("migrates slice 1.2 face materials to the PlayerStart-capable schema", () => { const migratedDocument = migrateSceneDocument({ version: 3,