Skip to content

Fix UI tests: update Cypress config and test assertions#2612

Merged
imatiach-msft merged 1 commit intomicrosoft:mainfrom
imatiach-msft:fix-ui-tests
Feb 5, 2026
Merged

Fix UI tests: update Cypress config and test assertions#2612
imatiach-msft merged 1 commit intomicrosoft:mainfrom
imatiach-msft:fix-ui-tests

Conversation

@imatiach-msft
Copy link
Collaborator

Description

This pull request updates Node.js compatibility across the project, improves E2E test reliability, and updates test dataset configurations to match new data. The most significant changes are grouped below.

Node.js version and compatibility updates:

  • The Node.js version used in the CD workflow (.github/workflows/CD.yml) is updated from 16.x to 20.x.
  • The CI workflow (.github/workflows/CI-typescript.yml) is updated to test against both Node.js 16.x and 20.x, ensuring compatibility with both versions.
  • A workaround is added in webpack.config.js to address OpenSSL hash algorithm compatibility issues with Node.js 17+ and webpack 4, avoiding the need for the --openssl-legacy-provider flag.

E2E test reliability and compatibility improvements:

  • In apps/dashboard-e2e/src/plugins/index.js, a custom webpack configuration is introduced to ignore CSS imports (using null-loader) and disable caching for Node 20 compatibility. The null-loader dependency is added to package.json. [1] [2]
  • The E2E test for the Individual Feature Importance scatter chart is improved to reliably wait for chart rendering by querying DOM elements, making the test less flaky.

Test dataset updates:

  • The number of datapoint values in several test datasets (Boston, Breast Cancer, EBM, IBM, and Iris) is incremented by one to reflect updated data, ensuring tests match the actual dataset sizes. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]

Checklist

  • I have added screenshots above for all UI changes.
  • I have added e2e tests for all UI changes.
  • Documentation was updated if it was needed.

Copilot AI review requested due to automatic review settings February 5, 2026 15:52
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request updates Node.js compatibility from version 16.x to 20.x across CI/CD workflows, implements workarounds for Node.js 17+ OpenSSL compatibility issues in webpack, improves E2E test reliability through better element waiting strategies, and updates test dataset configurations to reflect actual data counts.

Changes:

  • Node.js version updated to 20.x in CD workflow, and CI now tests against both 16.x and 20.x
  • Added OpenSSL hash algorithm workaround in webpack config for Node.js 17+ compatibility
  • Enhanced Cypress E2E configuration with CSS loader handling and improved test assertions for scatter charts
  • Incremented datapoint counts in test datasets (Boston, Breast Cancer, EBM, IBM, Iris) to match actual data

Reviewed changes

Copilot reviewed 9 out of 10 changed files in this pull request and generated 14 comments.

Show a summary per file
File Description
.github/workflows/CD.yml Updates Node.js version from 16.x to 20.x for deployment workflow
.github/workflows/CI-typescript.yml Adds Node.js 20.x to test matrix alongside 16.x for compatibility testing
webpack.config.js Adds OpenSSL compatibility workaround for Node.js 17+ by replacing md4 hash with sha256
package.json Adds null-loader dependency for Cypress E2E CSS handling
apps/dashboard-e2e/src/plugins/index.js Configures custom webpack to ignore CSS imports and disable caching for Node 20
apps/dashboard-e2e/src/describer/interpret/individualFeatureImportance/describeDataPointChart.ts Improves test reliability by explicitly waiting for chart elements with timeout
apps/dashboard-e2e/src/describer/interpret/interpretDatasets/bostonData.ts Updates datapoint counts from 102 to 103 for Boston dataset configurations
apps/dashboard-e2e/src/describer/interpret/interpretDatasets/interpretDatasets.ts Updates datapoint counts for Breast Cancer (114→115), EBM (2→3), and IBM (20→21) datasets
apps/dashboard-e2e/src/describer/interpret/interpretDatasets/irisData.ts Updates datapoint counts from 30 to 31 for Iris dataset configurations
yarn.lock Updates various Babel, Turf, FluentUI, and other dependencies to latest compatible versions

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@imatiach-msft imatiach-msft merged commit 58d474a into microsoft:main Feb 5, 2026
21 of 45 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants