auto-git:
[change] tests/domain/scene-document-validation.test.ts
This commit is contained in:
@@ -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", () => {
|
it("detects missing and invalid audio asset references on Sound Emitters", () => {
|
||||||
const audioAsset = {
|
const audioAsset = {
|
||||||
id: "asset-audio-main",
|
id: "asset-audio-main",
|
||||||
|
|||||||
Reference in New Issue
Block a user