Add test for migrating first-slice project time documents
This commit is contained in:
@@ -170,6 +170,50 @@ describe("project document JSON", () => {
|
|||||||
expect(migratedDocument.time).toEqual(createDefaultProjectTimeSettings());
|
expect(migratedDocument.time).toEqual(createDefaultProjectTimeSettings());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("migrates first-slice project time documents to the richer day-night profile defaults", () => {
|
||||||
|
const legacyProject = createEmptyProjectDocument({
|
||||||
|
name: "Legacy Time Project",
|
||||||
|
sceneName: "Atrium"
|
||||||
|
});
|
||||||
|
legacyProject.version = 37;
|
||||||
|
legacyProject.time = {
|
||||||
|
startDayNumber: 1,
|
||||||
|
startTimeOfDayHours: 17.5,
|
||||||
|
dayLengthMinutes: 20,
|
||||||
|
sunriseTimeOfDayHours: undefined as never,
|
||||||
|
sunsetTimeOfDayHours: undefined as never,
|
||||||
|
dawnDurationHours: undefined as never,
|
||||||
|
duskDurationHours: undefined as never,
|
||||||
|
dawn: undefined as never,
|
||||||
|
dusk: undefined as never,
|
||||||
|
night: undefined as never
|
||||||
|
};
|
||||||
|
|
||||||
|
const migratedDocument = parseProjectDocumentJson(
|
||||||
|
JSON.stringify({
|
||||||
|
...legacyProject,
|
||||||
|
time: {
|
||||||
|
startTimeOfDayHours: 17.5,
|
||||||
|
dayLengthMinutes: 20
|
||||||
|
}
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
expect(migratedDocument.version).toBe(SCENE_DOCUMENT_VERSION);
|
||||||
|
expect(migratedDocument.time.startTimeOfDayHours).toBe(17.5);
|
||||||
|
expect(migratedDocument.time.dayLengthMinutes).toBe(20);
|
||||||
|
expect(migratedDocument.time.sunriseTimeOfDayHours).toBe(
|
||||||
|
createDefaultProjectTimeSettings().sunriseTimeOfDayHours
|
||||||
|
);
|
||||||
|
expect(migratedDocument.time.night).toEqual(
|
||||||
|
createDefaultProjectTimeSettings().night
|
||||||
|
);
|
||||||
|
expect(
|
||||||
|
migratedDocument.scenes[migratedDocument.activeSceneId]?.world
|
||||||
|
.projectTimeLightingEnabled
|
||||||
|
).toBe(true);
|
||||||
|
});
|
||||||
|
|
||||||
it("migrates pre-project-name multi-scene documents to Untitled Project", () => {
|
it("migrates pre-project-name multi-scene documents to Untitled Project", () => {
|
||||||
const migratedDocument = parseProjectDocumentJson(
|
const migratedDocument = parseProjectDocumentJson(
|
||||||
JSON.stringify({
|
JSON.stringify({
|
||||||
|
|||||||
Reference in New Issue
Block a user