-
Notifications
You must be signed in to change notification settings - Fork 69
OBSINTA-1505: improve OLS timeseries Cypress test stability #1122
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
openshift-merge-bot
merged 1 commit into
openshift:main
from
tremes:ols-test-improvements
Aug 13, 2026
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
Repository: openshift/monitoring-plugin
Length of output: 32089
🌐 Web query:
openshift-lightspeed Add to dashboard aria-label collapsed accordion show_timeseries OLS plugin💡 Result:
The OpenShift Lightspeed (OLS) plugin for the OpenShift console includes functionality to visualize tool calls, such as the show_timeseries tool, which allows users to render time-series charts directly within the AI chat interface and add them to Perses dashboards [1][2]. Technical implementation details for these UI components include: - ShowTimeseries Component: This component is implemented in the OLS console plugin to handle tool visualization [1]. It uses helper functions and wrappers to manage the integration, including an AddToDashboardButton [1]. - Accessible UI Controls: Development work has specifically addressed accessibility and interaction patterns for these controls [1]. This includes setting descriptive aria-labels (e.g., "Add to dashboard") for action buttons and ensuring that decorative icons (such as ViewGridPlusIcon) are properly hidden from screen readers using aria-hidden={true} [1]. - Dashboard Integration: The "Add to dashboard" feature allows users to take a chart rendered by OLS and persist it into a new or existing Perses dashboard [2]. The integration workflow involves sending a prompt to OLS, receiving the chart, using the UI control to trigger the addition, and verifying the panel's persistence [2]. - Development and Testing: These components are part of the lightspeed-console plugin repository [3][4]. End-to-end tests for the show_timeseries integration are maintained within the plugin's Cypress test suite to ensure the "Add to dashboard" workflow functions correctly across dashboard creation and saving scenarios [2]. Developers working with these components should refer to the web/src/components/ols-tool-ui/ directory within the lightspeed-console project for the source implementation [1].
Citations:
🏁 Script executed:
Repository: openshift/monitoring-plugin
Length of output: 641
🏁 Script executed:
Repository: openshift/monitoring-plugin
Length of output: 309
🏁 Script executed:
Repository: openshift/monitoring-plugin
Length of output: 309
🏁 Script executed:
Repository: openshift/monitoring-plugin
Length of output: 446
🌐 Web query:
site:github.com/openshift/lightspeed-console "AddToDashboardButton" "show_timeseries"💡 Result:
There is no evidence in the provided search results to support the existence of a component or function named AddToDashboardButton with a show_timeseries parameter within the OpenShift Lightspeed Console project. The available documentation for the OpenShift Lightspeed Console plugin focuses on its integration as an AI assistant, managing conversation state, and extension patterns for opening the OLS UI [1][2][3][4]. There is no mention of dashboard-specific buttons or time-series display functionality associated with that specific naming convention in the retrieved source materials [1][5][2][6][3][7][4].
Citations:
🏁 Script executed:
Repository: openshift/monitoring-plugin
Length of output: 165
🏁 Script executed:
Repository: openshift/monitoring-plugin
Length of output: 4083
🌐 Web query:
Cypress click force true bypasses actionability checks hidden disabled covered documentation💡 Result:
In Cypress, passing { force: true } to an action command like.click acts as an "escape hatch" that bypasses Cypress's built-in actionability checks [1][2]. By default, Cypress performs several checks before an action to ensure the element can be interacted with as a real user would; using { force: true } tells Cypress to skip these checks and fire the event regardless of the element's state [1][3][4]. When you use { force: true }, Cypress will NOT perform the following checks [1][2]: - Ensure the element is visible [1][2] - Ensure the element is not covered by another element [1][2] - Ensure the element is not disabled [1][2] - Ensure the element is not animating [1][2] - Ensure the element is not detached from the DOM [1][2] - Ensure the element is not read-only [1][2] - Scroll the element into view [1][2] - Fire the event at a descendant [1][2] While this allows you to trigger events on elements that would otherwise fail these checks, it is generally discouraged because it can mask underlying issues where an element is truly inaccessible to a user (e.g., a button that is hidden or disabled) [3][5][4]. One notable exception is that passing { force: true } to the.select command does not override actionability checks for selecting a disabled or an option within a disabled element [1][2]. Citations: 1: https://docs.cypress.io/app/core-concepts/interacting-with-elements 2: https://docs.cypress.io/llm/markdown/app/core-concepts/interacting-with-elements.md 3: https://www.capocaccia.dev/posts/quickSnippetsForce 4: https://docs.cypress.io/app/references/error-messages 5: https://github.com/cypress-io/eslint-plugin-cypress/blob/HEAD/docs/rules/no-force.md Expand the tool-call accordion before clicking “Add to dashboard”. After the accordion is expanded, assert be.visible and be.enabled, then use .click() without { force: true }. Forced clicks bypass Cypress actionability checks and can pass without proving that a user can use the control. 🤖 Prompt for AI Agents Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@web/cypress/e2e/coo/03.coo_lightspeed_show_timeseries.cy.ts` around lines 157 - 165, Update the Add to dashboard interaction in the aiResponse chain to expand the collapsed tool-call accordion first, then assert the selected control is visible and enabled before clicking it. Remove force:true and use a normal click so Cypress validates user actionability.