Skip to content

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

Merged
merged 55 commits into from
Jun 10, 2025
Merged

Testing tooling #160

merged 55 commits into from
Jun 10, 2025

Conversation

DaltheCow
Copy link
Contributor

@DaltheCow DaltheCow commented May 13, 2025

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.

@DaltheCow DaltheCow added the UI Front-end workstream label May 13, 2025

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15007557630/artifacts/3118322181.
They will be retained for up to 30 days.

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15030062381/artifacts/3126014010.
They will be retained for up to 30 days.

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15030108149/artifacts/3126033508.
They will be retained for up to 30 days.

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15331563874/artifacts/3223425980.
They will be retained for up to 30 days.

Base automatically changed from core-framework-setup to main June 2, 2025 20:48

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15402564605/artifacts/3244786276.
They will be retained for up to 30 days.

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15410952763/artifacts/3247515812.
They will be retained for up to 30 days.

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15412187262/artifacts/3247933702.
They will be retained for up to 30 days.

@markurtz markurtz requested review from markurtz and Copilot June 4, 2025 14:22
Copy link
Contributor

@Copilot 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 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",

Copy link
Member

@markurtz markurtz left a 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

@DaltheCow
Copy link
Contributor Author

@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

@DaltheCow
Copy link
Contributor Author

@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
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15472783542/artifacts/3269725030.
They will be retained for up to 30 days.

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15472813902/artifacts/3269735956.
They will be retained for up to 30 days.

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15478520337/artifacts/3271751912.
They will be retained for up to 30 days.

📦 Build Artifacts Available
The build artifacts (.whl and .tar.gz) have been successfully generated and are available for download: https://github.com/neuralmagic/guidellm/actions/runs/15478749243/artifacts/3271829318.
They will be retained for up to 30 days.

@markurtz markurtz merged commit 8ced984 into main Jun 10, 2025
15 checks passed
@markurtz markurtz deleted the testing-tooling branch June 10, 2025 13:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
UI Front-end workstream
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants