auto-git:

[change] tests/domain/scene-document-validation.test.ts
This commit is contained in:
2026-04-23 09:07:36 +02:00
parent 347953d41d
commit 39c4d7ac9b

View File

@@ -917,6 +917,82 @@ describe("validateSceneDocument", () => {
);
});
it("validates mapped rail camera rig placement fields", () => {
const path = createScenePath({
id: "path-camera-mapped"
});
const invalidPlacementRig = createCameraRigEntity({
id: "entity-camera-rig-invalid-placement",
rigType: "rail",
pathId: path.id
}) as ReturnType<typeof createCameraRigEntity> & {
railPlacementMode: string;
};
const invalidMappedRig = createCameraRigEntity({
id: "entity-camera-rig-invalid-mapped",
rigType: "rail",
pathId: path.id,
railPlacementMode: "mapTargetBetweenPoints",
trackStartPoint: {
x: 0,
y: 1,
z: 2
},
trackEndPoint: {
x: 10,
y: 1,
z: 2
},
railStartProgress: 0.2,
railEndProgress: 0.8
});
invalidPlacementRig.railPlacementMode = "diagonal";
invalidMappedRig.trackStartPoint = {
x: Number.NaN,
y: 1,
z: 2
};
invalidMappedRig.trackEndPoint = {
x: 10,
y: Number.POSITIVE_INFINITY,
z: 2
};
invalidMappedRig.railStartProgress = -0.1;
invalidMappedRig.railEndProgress = 1.1;
const validation = validateSceneDocument({
...createEmptySceneDocument(),
paths: {
[path.id]: path
},
entities: {
[invalidPlacementRig.id]: invalidPlacementRig,
[invalidMappedRig.id]: invalidMappedRig
}
});
expect(validation.errors).toEqual(
expect.arrayContaining([
expect.objectContaining({
code: "invalid-camera-rig-rail-placement-mode"
}),
expect.objectContaining({
code: "invalid-camera-rig-track-start-point"
}),
expect.objectContaining({
code: "invalid-camera-rig-track-end-point"
}),
expect.objectContaining({
code: "invalid-camera-rig-rail-start-progress"
}),
expect.objectContaining({
code: "invalid-camera-rig-rail-end-progress"
})
])
);
});
it("detects missing and invalid audio asset references on Sound Emitters", () => {
const audioAsset = {
id: "asset-audio-main",