Add optional room areas
This commit is contained in:
parent
a6500e2b26
commit
dce31ee143
26 changed files with 3669 additions and 78 deletions
|
|
@ -91,7 +91,14 @@ function minimalSnapshot() {
|
|||
sortOrder: number;
|
||||
buildingId: string | null;
|
||||
}>,
|
||||
rooms: [],
|
||||
rooms: [] as Array<{
|
||||
id: string;
|
||||
projectId: string;
|
||||
floorId: string | null;
|
||||
roomNumber: string;
|
||||
roomName: string;
|
||||
areaM2: number | null;
|
||||
}>,
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -443,6 +450,26 @@ describe("project state snapshot model", () => {
|
|||
assert.throws(() => parseProjectStateSnapshot(floorWithoutBuildingField));
|
||||
});
|
||||
|
||||
it("keeps room areas and upgrades snapshot version 7 with an empty area", () => {
|
||||
const current = minimalSnapshot();
|
||||
current.rooms.push({
|
||||
id: "room-1",
|
||||
projectId: "project-1",
|
||||
floorId: null,
|
||||
roomNumber: "001",
|
||||
roomName: "Technik",
|
||||
areaM2: 23.456,
|
||||
});
|
||||
assert.equal(parseProjectStateSnapshot(current).rooms[0]?.areaM2, 23.456);
|
||||
|
||||
const previous = structuredClone(current);
|
||||
previous.schemaVersion = 7 as typeof previous.schemaVersion;
|
||||
delete (previous.rooms[0] as Partial<(typeof previous.rooms)[number]>).areaM2;
|
||||
const upgraded = parseProjectStateSnapshot(previous);
|
||||
assert.equal(upgraded.schemaVersion, projectStateSnapshotSchemaVersion);
|
||||
assert.equal(upgraded.rooms[0]?.areaM2, null);
|
||||
});
|
||||
|
||||
it("upgrades snapshot version 6 without buildings", () => {
|
||||
const snapshot = minimalSnapshot();
|
||||
snapshot.floors.push({
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue