From 2ed0b1067972ee23164a29edc9fa8cda044dc0dc Mon Sep 17 00:00:00 2001 From: Cristhian Zanforlin Lousa Date: Mon, 6 Jan 2025 15:59:29 -0300 Subject: [PATCH] fix(nightly): refactor freeze-path feature test (#5557) --- .../components/sliderComponent/index.tsx | 1 + .../tests/core/features/freeze-path.spec.ts | 27 ++++++++++++++----- .../evaluate-input-react-state-changes.ts | 25 +++++++++++++++++ 3 files changed, 47 insertions(+), 6 deletions(-) create mode 100644 src/frontend/tests/utils/evaluate-input-react-state-changes.ts diff --git a/src/frontend/src/components/core/parameterRenderComponent/components/sliderComponent/index.tsx b/src/frontend/src/components/core/parameterRenderComponent/components/sliderComponent/index.tsx index 3bf71dcc8..21d90940a 100644 --- a/src/frontend/src/components/core/parameterRenderComponent/components/sliderComponent/index.tsx +++ b/src/frontend/src/components/core/parameterRenderComponent/components/sliderComponent/index.tsx @@ -216,6 +216,7 @@ export default function SliderComponent({ onKeyDown={handleKeyDown} className="relative bottom-[1px] w-full cursor-text rounded-sm bg-transparent text-center font-mono text-[0.88rem] arrow-hide" autoFocus + data-testid="slider_input" /> ) : ( { + await page.evaluate( + ({ selector, value }) => { + const inputElement = document.querySelector(selector) as HTMLInputElement; + if (inputElement) { + const prototype = Object.getPrototypeOf(inputElement); + const nativeInputValueSetter = Object.getOwnPropertyDescriptor( + prototype, + "value", + )?.set; + if (nativeInputValueSetter) { + nativeInputValueSetter.call(inputElement, value); + inputElement.dispatchEvent(new Event("input", { bubbles: true })); + } + } + }, + { selector, value }, + ); +};