From 48afedf8164ce194299a71f7dd9550a27557ae1d Mon Sep 17 00:00:00 2001 From: Miguel Rincon Date: Wed, 22 Oct 2025 09:54:55 +0200 Subject: [PATCH] Refactor scroll utils and improve test coverage - Refactors `scroll_utils.js` to improve maintainability and testability. - Introduces `getScrollingElement` to abstract away the difference between `window` and other scroll containers. - Updates `scrollToTargetOnResize` to use the `scroll_utils` functions. - Adds more unit tests for `scroll_utils.js`. --- .../components/access_token_table_app.vue | 2 +- .../javascripts/lib/utils/resize_observer.js | 34 +- .../javascripts/lib/utils/scroll_utils.js | 120 +++-- .../dom_shims/document_scrolling_element.js | 3 + .../dom_shims/element_scroll_to.js | 17 +- spec/frontend/__helpers__/dom_shims/index.js | 1 + .../components/access_token_table_app_spec.js | 8 +- .../pipeline_editor_app_spec.js | 14 +- .../components/error_tracking_list_spec.js | 6 +- spec/frontend/groups/components/app_spec.js | 14 +- .../lib/utils/resize_observer_spec.js | 21 +- spec/frontend/lib/utils/scroll_utils_spec.js | 442 +++++++----------- 12 files changed, 293 insertions(+), 389 deletions(-) create mode 100644 spec/frontend/__helpers__/dom_shims/document_scrolling_element.js diff --git a/app/assets/javascripts/access_tokens/components/access_token_table_app.vue b/app/assets/javascripts/access_tokens/components/access_token_table_app.vue index 4c169b3bff56c3..3d0bb334c5b7d8 100644 --- a/app/assets/javascripts/access_tokens/components/access_token_table_app.vue +++ b/app/assets/javascripts/access_tokens/components/access_token_table_app.vue @@ -258,7 +258,7 @@ export default {