fix(chat): preserve style defaults for omitted agent overrides
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
import { parseApplyLayerStylePayload } from "./toolCallStyleHelpers";
|
||||
import { createDefaultLayerStyleState } from "@components/olmap/core/Controls/styleEditorPresets";
|
||||
import { validateStyleConfig } from "@components/olmap/core/Controls/styleEditorUtils";
|
||||
|
||||
describe("parseApplyLayerStylePayload", () => {
|
||||
it("accepts a valid snake_case interval contract", () => {
|
||||
@@ -47,4 +49,17 @@ describe("parseApplyLayerStylePayload", () => {
|
||||
}),
|
||||
).toMatchObject({ layerId: "junctions", styleConfig: { opacity: 0.5 } });
|
||||
});
|
||||
|
||||
it("preserves default palette indexes when only some style fields are provided", () => {
|
||||
const payload = parseApplyLayerStylePayload({
|
||||
layer_id: "pipes",
|
||||
style_config: { property: "flow", color_type: "gradient" },
|
||||
});
|
||||
expect(payload).not.toBeNull();
|
||||
const merged = {
|
||||
...createDefaultLayerStyleState("pipes").styleConfig,
|
||||
...payload?.styleConfig,
|
||||
};
|
||||
expect(validateStyleConfig(merged)).toEqual({ valid: true, errors: [] });
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user