-
Notifications
You must be signed in to change notification settings - Fork 44
Testing tooling #160
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
Testing tooling #160
Conversation
📦 Build Artifacts Available |
📦 Build Artifacts Available |
📦 Build Artifacts Available |
📦 Build Artifacts Available |
📦 Build Artifacts Available |
📦 Build Artifacts Available |
📦 Build Artifacts Available |
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.
Pull Request Overview
This PR introduces testing tooling for the UI by adding configurations and scripts for unit, integration, and end-to-end tests. Key changes include the addition of new tsconfig files for tests (Jest and Cypress), new test files and configuration (Jest, Cypress, and ESLint updates), and updates to the GitHub Actions workflow to support UI testing.
Reviewed Changes
Copilot reviewed 24 out of 24 changed files in this pull request and generated 1 comment.
Show a summary per file
File | Description |
---|---|
src/ui/tsconfig.test.json | Added TypeScript configuration for unit/integration tests |
src/ui/tsconfig.json | Updated runtime TS configuration and excluded test files |
src/ui/tsconfig.cypress.json | Added TypeScript configuration for Cypress E2E tests |
src/ui/tsconfig.base.json | Introduced base configuration shared by all TS configs |
src/ui/tests/unit/, src/ui/tests/integration/ | New unit and integration test files |
src/ui/jest.config.js, jest.setup.ts | New Jest configuration and setup for testing |
src/ui/cypress/* | New Cypress support, E2E tests, and configuration |
src/ui/app/page.tsx, src/ui/app/layout.tsx | Simplified UI page and layout implementation |
src/ui/.eslintrc.json | Updated ESLint config to support Jest testing environment |
package.json | Modified scripts and dependencies to support testing tooling |
DEVELOPING.md | Updated documentation with instructions for UI development and testing |
.github/workflows/development.yml | Added GitHub Actions jobs for UI unit and integration tests |
Comments suppressed due to low confidence (1)
src/ui/tsconfig.json:2
- Ensure that all critical compilerOptions removed from tsconfig.json are fully provided by tsconfig.base.json, particularly settings like module resolution and path aliases, to avoid unintended runtime issues.
"extends": "./tsconfig.base.json",
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.
@DaltheCow a few minor things, but can we also see if we can nest the test pieces under guidellm/tests/ui rather than keeping them in the src folder? That way we encapsulate everything for easier navigation as well as clear standards
I think this is doable, am mostly hoping I don't have to move too many configs around since that always breaks a lot of things |
@markurtz since we are moving the tests from src/ui to tests/ui I'm going to go ahead and move all of the relevant configs such as .eslintrc.json, jest.config.js, cypress.config.ts, .prettierrc and the tsconfigs (tsconfig.base.json tsconfig.cypress.json tsconfig.json tsconfig.test.json) to the root. Originally I avoided this since it was going to require me to make some extension files that were just going to be there to pull in the files from the root for reference inside of src/ui, which seemed overly complicated given that we could just leave package.json at the root and avoid most of the complexity. But it is wrong to leave configs needed for testing in src/ui when tests live elsewhere now. I'm hoping I have a decent understanding of what this entails already but expect some more surprises along the way. Hopefully it ends up feeling better. |
📦 Build Artifacts Available |
📦 Build Artifacts Available |
📦 Build Artifacts Available |
📦 Build Artifacts Available |
Set up unit/integration/e2e testing with test coverage for unit/integration. Test coverage is not used, but can be pulled into a GH workflow when/if desired. Currently as there are very few tests written there is no threshold set in this repo.