Update tests for invalid volume settings in scene document validation

This commit is contained in:
2026-04-06 08:43:43 +02:00
parent 30b7b152c3
commit ae0838838d

View File

@@ -537,16 +537,34 @@ describe("validateSceneDocument", () => {
}); });
it("detects invalid whitebox box volume settings", () => { it("detects invalid whitebox box volume settings", () => {
const brush = createBoxBrush({ const invalidModeBrush = createBoxBrush({
id: "brush-invalid-volume" id: "brush-invalid-volume-mode"
}); });
(brush as any).volume = { const invalidWaterBrush = createBoxBrush({
id: "brush-invalid-volume-water"
});
const invalidFogBrush = createBoxBrush({
id: "brush-invalid-volume-fog"
});
(invalidModeBrush as any).volume = {
mode: "lava", mode: "lava",
water: {
colorHex: "#3a7dc2",
surfaceOpacity: 0.6,
waveStrength: 0.3
}
};
(invalidWaterBrush as any).volume = {
mode: "water",
water: { water: {
colorHex: "water", colorHex: "water",
surfaceOpacity: 2, surfaceOpacity: 2,
waveStrength: -1 waveStrength: -1
}, }
};
(invalidFogBrush as any).volume = {
mode: "fog",
fog: { fog: {
colorHex: "fog", colorHex: "fog",
density: Number.NaN, density: Number.NaN,
@@ -557,7 +575,9 @@ describe("validateSceneDocument", () => {
const validation = validateSceneDocument({ const validation = validateSceneDocument({
...createEmptySceneDocument(), ...createEmptySceneDocument(),
brushes: { brushes: {
[brush.id]: brush [invalidModeBrush.id]: invalidModeBrush,
[invalidWaterBrush.id]: invalidWaterBrush,
[invalidFogBrush.id]: invalidFogBrush
} }
}); });
@@ -565,31 +585,31 @@ describe("validateSceneDocument", () => {
expect.arrayContaining([ expect.arrayContaining([
expect.objectContaining({ expect.objectContaining({
code: "invalid-box-volume-mode", code: "invalid-box-volume-mode",
path: "brushes.brush-invalid-volume.volume.mode" path: "brushes.brush-invalid-volume-mode.volume.mode"
}), }),
expect.objectContaining({ expect.objectContaining({
code: "invalid-box-volume-water-color", code: "invalid-box-volume-water-color",
path: "brushes.brush-invalid-volume.volume.water.colorHex" path: "brushes.brush-invalid-volume-water.volume.water.colorHex"
}), }),
expect.objectContaining({ expect.objectContaining({
code: "invalid-box-volume-water-opacity", code: "invalid-box-volume-water-opacity",
path: "brushes.brush-invalid-volume.volume.water.surfaceOpacity" path: "brushes.brush-invalid-volume-water.volume.water.surfaceOpacity"
}), }),
expect.objectContaining({ expect.objectContaining({
code: "invalid-box-volume-water-wave-strength", code: "invalid-box-volume-water-wave-strength",
path: "brushes.brush-invalid-volume.volume.water.waveStrength" path: "brushes.brush-invalid-volume-water.volume.water.waveStrength"
}), }),
expect.objectContaining({ expect.objectContaining({
code: "invalid-box-volume-fog-color", code: "invalid-box-volume-fog-color",
path: "brushes.brush-invalid-volume.volume.fog.colorHex" path: "brushes.brush-invalid-volume-fog.volume.fog.colorHex"
}), }),
expect.objectContaining({ expect.objectContaining({
code: "invalid-box-volume-fog-density", code: "invalid-box-volume-fog-density",
path: "brushes.brush-invalid-volume.volume.fog.density" path: "brushes.brush-invalid-volume-fog.volume.fog.density"
}), }),
expect.objectContaining({ expect.objectContaining({
code: "invalid-box-volume-fog-padding", code: "invalid-box-volume-fog-padding",
path: "brushes.brush-invalid-volume.volume.fog.padding" path: "brushes.brush-invalid-volume-fog.volume.fog.padding"
}) })
]) ])
); );