test(playwright): initial playwright config and tests#900
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #900 +/- ##
==========================================
+ Coverage 99.70% 99.70% +0.01%
==========================================
Files 197 197
Lines 12451 12545 +94
==========================================
+ Hits 12413 12507 +94
Misses 33 33
Partials 5 5 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
✅ Playwright Test Results
Duration: 942.2s |
- vite-tsconfig-paths is deprecated now that Vite resolves tsconfig paths natively; remove the plugin and set resolve.tsconfigPaths: true. - vite-plugin-babel's `filter` is planned for deprecation and, since 1.7.0, is applied after `include` (default /\.jsx?$/), so the old `filter: /\.tsx?$/` no longer matches as intended. Migrate to `include`, split into explicit .ts and .tsx passes (the latter adding @babel/plugin-syntax-jsx).
Chromium doesn't propagate subgrid track sizing through a <fieldset> grid container, and the service-edit modal nests grid-cols-subgrid field-sets several levels deep. Render FieldSet as a <div role="group"> instead.
returned them from the censored config API, so the edit form loaded them empty and saving dropped them. Return the headers (masked), and extend the edit-form schema to carry headers for the url type only (github has none).
- Add a reference-counted per-service-ID lock: create/edit/delete take it exclusively, refreshes take it shared. Edit and delete wait out an in-flight op rather than failing fast (so a background refresh can't bounce a user's save), then re-check the service still exists since it may have been renamed or deleted while waiting; create and refresh return 409 on conflict instead. - Release OrderMu across the network verify so a slow CheckFetches can't block other services' order reads, and check the AddService error. Save() now holds OrderMu as a read lock while encoding.
The clients map is owned by the Run goroutine. Extract the register/unregister/broadcast bodies into addClient/removeClient/broadcast, and add a query channel so external readers (tests) can observe the map on that goroutine without racing its writes. help_test shortens pingPeriod so writePump tests don't wait out the production default.
Reconcile membership (drop removed ids, append new ones, keep the user's order) instead of resetting to the server order, so a concurrent create/delete elsewhere can't clobber a pending reorder.
Surface hooks the Playwright suite relies on: - data-update-available on the service card - aria-label on the resend-timer hourglass - id on field-check inputs
Drop the hardcoded UI fallback default types from the service form builders (latest_version, deployed_version, require.docker, webhook) in favour of the type now carried in the defaults/hardDefaults response, and refactor the builders to a consistent isX-type / undefined pattern.
- bump @biomejs/biome from 2.5.0 to 2.5.1 - bump @playwright/test from ^1.61.0 to ^1.61.1 - bump @tailwindcss/vite from ^4.3.1 to ^4.3.2 - bump @tanstack/react-query from ^5.101.0 to ^5.101.2 - bump @tanstack/react-query-devtools from 5.101.0 to 5.101.2 - bump @types/node from 26.0.0 to 26.0.1 - bump globals from 17.6.0 to 17.7.0 - bump lucide-react from ^1.21.0 to ^1.22.0 - bump partysocket from ^1.2.0 to ^1.3.0 - bump react-router-dom from ^7.18.0 to ^7.18.1 - bump tailwindcss from ^4.3.1 to ^4.3.2 - bump vite from 8.0.16 to 8.1.0
681af23 to
4fcf75c
Compare
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.
Introduces Playwright for frontend e2e tests.
Test infrastructure
Coverage
Fixes & features (surfaced while building the e2e suite)
API / backend
UI
<fieldset>, which the deeply-nested service-edit modal relies on; render as<div role="group">.Tooling / deps