Add test for invalid advanced rendering settings validation
This commit is contained in:
@@ -416,4 +416,88 @@ describe("validateSceneDocument", () => {
|
||||
])
|
||||
);
|
||||
});
|
||||
|
||||
it("detects invalid advanced rendering settings", () => {
|
||||
const document = createEmptySceneDocument();
|
||||
document.world.advancedRendering = {
|
||||
...document.world.advancedRendering,
|
||||
enabled: true,
|
||||
shadows: {
|
||||
...document.world.advancedRendering.shadows,
|
||||
mapSize: 3000,
|
||||
type: "ultra" as unknown as "basic",
|
||||
bias: Number.NaN
|
||||
},
|
||||
ambientOcclusion: {
|
||||
...document.world.advancedRendering.ambientOcclusion,
|
||||
samples: 0
|
||||
},
|
||||
bloom: {
|
||||
...document.world.advancedRendering.bloom,
|
||||
intensity: -0.25,
|
||||
threshold: -1,
|
||||
radius: -0.5
|
||||
},
|
||||
toneMapping: {
|
||||
mode: "filmic" as unknown as "none",
|
||||
exposure: 0
|
||||
},
|
||||
depthOfField: {
|
||||
...document.world.advancedRendering.depthOfField,
|
||||
focalLength: 0,
|
||||
bokehScale: -2
|
||||
}
|
||||
};
|
||||
|
||||
const validation = validateSceneDocument(document);
|
||||
|
||||
expect(validation.errors).toEqual(
|
||||
expect.arrayContaining([
|
||||
expect.objectContaining({
|
||||
code: "invalid-advanced-rendering-shadow-map-size",
|
||||
path: "world.advancedRendering.shadows.mapSize"
|
||||
}),
|
||||
expect.objectContaining({
|
||||
code: "invalid-advanced-rendering-shadow-type",
|
||||
path: "world.advancedRendering.shadows.type"
|
||||
}),
|
||||
expect.objectContaining({
|
||||
code: "invalid-advanced-rendering-shadow-bias",
|
||||
path: "world.advancedRendering.shadows.bias"
|
||||
}),
|
||||
expect.objectContaining({
|
||||
code: "invalid-advanced-rendering-ao-samples",
|
||||
path: "world.advancedRendering.ambientOcclusion.samples"
|
||||
}),
|
||||
expect.objectContaining({
|
||||
code: "invalid-advanced-rendering-bloom-intensity",
|
||||
path: "world.advancedRendering.bloom.intensity"
|
||||
}),
|
||||
expect.objectContaining({
|
||||
code: "invalid-advanced-rendering-bloom-threshold",
|
||||
path: "world.advancedRendering.bloom.threshold"
|
||||
}),
|
||||
expect.objectContaining({
|
||||
code: "invalid-advanced-rendering-bloom-radius",
|
||||
path: "world.advancedRendering.bloom.radius"
|
||||
}),
|
||||
expect.objectContaining({
|
||||
code: "invalid-advanced-rendering-tone-mapping-mode",
|
||||
path: "world.advancedRendering.toneMapping.mode"
|
||||
}),
|
||||
expect.objectContaining({
|
||||
code: "invalid-advanced-rendering-tone-mapping-exposure",
|
||||
path: "world.advancedRendering.toneMapping.exposure"
|
||||
}),
|
||||
expect.objectContaining({
|
||||
code: "invalid-advanced-rendering-dof-focal-length",
|
||||
path: "world.advancedRendering.depthOfField.focalLength"
|
||||
}),
|
||||
expect.objectContaining({
|
||||
code: "invalid-advanced-rendering-dof-bokeh-scale",
|
||||
path: "world.advancedRendering.depthOfField.bokehScale"
|
||||
})
|
||||
])
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user