Introduce E2E Tests for Calm Hub UI#1854
Merged
YoofiTT96 merged 16 commits intofinos:mainfrom Jan 19, 2026
Merged
Conversation
aamanrebello
reviewed
Dec 4, 2025
Contributor
aamanrebello
left a comment
There was a problem hiding this comment.
My only concern was the base URL in the cypress config.
Contributor
There was a problem hiding this comment.
Pull request overview
This PR introduces end-to-end (E2E) testing infrastructure for the Calm Hub UI using Cypress and React Testing Library. The tests focus on user-facing behavior and accessibility, covering six key pages of the application. This is a foundational step toward comprehensive automated testing, though CI/CD integration is planned for future work.
Key Changes
- Added Cypress 15.7.0 and @testing-library/cypress for E2E testing with user-centric queries
- Implemented test specs for Home, Architectures, ADRs, Flows, Patterns, and Visualizer pages
- Enhanced UI components with test identifiers (data-cy attributes) and accessibility improvements (aria-label)
Reviewed changes
Copilot reviewed 21 out of 22 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| package-lock.json | Added Cypress dependencies and related packages for E2E testing |
| calm-hub-ui/package.json | Added cypress and @testing-library/cypress as devDependencies; added start-cypress script |
| calm-hub-ui/tsconfig.json | Added type definitions for Cypress and testing library |
| calm-hub-ui/cypress.config.ts | Cypress configuration using environment variables for baseUrl |
| calm-hub-ui/cypress/support/e2e.ts | Cypress support file setup |
| calm-hub-ui/cypress/support/commands.ts | Import testing-library commands for enhanced queries |
| calm-hub-ui/cypress/fixtures/*.json | Test fixture data for architectures, flows, patterns, and ADRs |
| calm-hub-ui/cypress/fixtures/constants.ts | Shared test constants for namespaces and resource types |
| calm-hub-ui/cypress/e2e/*.cy.ts | E2E test specs for all major pages using intercepts to stub API responses |
| calm-hub-ui/src/hub/components/json-renderer/JsonRenderer.tsx | Added data-cy attributes for test identification |
| calm-hub-ui/src/components/navbar/Navbar.tsx | Added aria-label for improved accessibility |
| calm-hub-ui/README.md | Documentation for running Cypress tests and test stubbing approach |
| calm-hub-ui/.env.example | Example environment variable configuration for test baseUrl |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
aamanrebello
previously approved these changes
Dec 19, 2025
# Conflicts: # package-lock.json
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…-as-code into e2e-tests Merged with main
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
aamanrebello
approved these changes
Jan 19, 2026
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
Introduces E2E tests using cypress testing framework and react testing library for queries.
Test specs cover:
The use of React Testing Library in the queries assist in maintainability as the queries are organised around how the users would interact with the application as opposed to how it is implemented.
Assertions are organied around what they should see as well as accessiblity roles of elements
This PR does not include changes for integrating it in the pipeline
Type of Change
Affected Components
cli/)shared/)calm-widgets/)calm-hub/)calm-hub-ui/)docs/)calm-plugins/vscode/)Commit Message Format ✅
Testing
Checklist