import { expect, test } from "@playwright/test"; import { mergeVideoCanvasAdvancedSettings, resolveVideoCanvasAdvancedSettings, } from "../../lib/video-canvas/video-advanced-settings"; const defaults = { defaultAutoValidateMaterial: true, defaultSearchEnabled: true, }; test.describe("video canvas advanced settings", () => { test("uses administrator defaults for legacy nodes", () => { expect(resolveVideoCanvasAdvancedSettings(undefined, defaults)).toEqual({ autoValidateMaterial: true, searchEnabled: true, }); }); test("restores canonical and legacy saved values", () => { expect( resolveVideoCanvasAdvancedSettings( { autoValidateMaterial: false, searchEnabled: false }, defaults, ), ).toEqual({ autoValidateMaterial: false, searchEnabled: false }); expect( resolveVideoCanvasAdvancedSettings( { auto_validate_material: false, searchable: false }, defaults, ), ).toEqual({ autoValidateMaterial: false, searchEnabled: false }); }); test("persists toggles inside node params without dropping other settings", () => { expect( mergeVideoCanvasAdvancedSettings( { mode: "first-frame", settings: { duration: "5s", searchEnabled: true }, }, { autoValidateMaterial: false, searchEnabled: false }, ), ).toEqual({ mode: "first-frame", settings: { autoValidateMaterial: false, duration: "5s", searchEnabled: false, }, }); }); });