Commit the Algorithm Catalog e2e suite into the repo - #228
Merged
Conversation
The 16-check Playwright suite that verified this app existed only in a scratch directory, so the only committed verification was offline (validate_data.py, rules_parity_test.py, typecheck, build). Nothing in the repo proved the app actually RENDERS. This moves it in. What it asserts, against a running site (dev server, deploy preview, or production — pass a base URL): - three tabs, in the Submit / Events / Algorithms order the app is used in - 8 algorithm cards render, and every thumbnail DECODES (naturalWidth > 0 — a 200 on the URL does not prove the browser rendered it) - search narrows the catalog, on both viewing tabs - all 3 seed events listed - five malformed STAC event names each surface an error AND keep the submit button disabled, including the two 3-underscore cases that are the entire reason our rule is stricter than upstream's: 202501_Tropical_Cyclone_CA (passes upstream, silently parsing as hazard "Tropical") and 202501_Flood_CA_extra (an explicit upstream PASS case) - a valid name clears those errors - no console or page errors Playwright is deliberately NOT added to package.json. This app's deps stay at React + ReactDOM so `npm ci` in CI and on Netlify stays fast, so the import is resolved at run time and a missing Playwright prints install instructions rather than an ERR_MODULE_NOT_FOUND stack trace. Verified both paths. Not wired into CI: it needs a browser download and a running server, whereas the CI gate is stdlib and offline. Run it by hand before shipping a UI change. SHOTS=1 writes screenshots to scripts/shots/, which .gitignore now excludes. Verified: 16/16 against https://veda-algorithm-catalog.netlify.app, with package.json confirmed unmodified (installed via `npm i --no-save`).
✅ Deploy Preview for veda-github-actions canceled.
|
✅ Deploy Preview for veda-pr-dashboard canceled.
|
✅ Deploy Preview for veda-dse-hub canceled.
|
✅ Deploy Preview for veda-aws-dashboard canceled.
|
✅ Deploy Preview for veda-leave-dashboard canceled.
|
1 similar comment
✅ Deploy Preview for veda-leave-dashboard canceled.
|
✅ Deploy Preview for veda-algorithm-catalog ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
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.
The 16-check Playwright suite that verified this app lived only in a scratch directory. Everything committed so far is offline verification —
validate_data.py,rules_parity_test.py, typecheck, build — so nothing in the repo proved the app actually renders. This moves it in.What it asserts
Against a running site — dev server, deploy preview, or production (pass a base URL):
naturalWidth > 0— a 200 on the URL does not prove the browser rendered it)Two of those negative cases are the whole reason this app's rule is stricter than upstream's, so they're the ones most worth locking down:
202501_Tropical_Cyclone_CATropicaland writing that as the GeoTIFFHAZARDtag202501_Flood_CA_extratests/integration/test_dps_validate.sh:41-48) that we knowingly rejectIf someone ever relaxes
STAC_EVENT_REback toward upstream's trailing.+, these two fail loudly.Playwright is deliberately not a dependency
package.jsonstays at React + ReactDOM sonpm ciin CI and on Netlify stays fast. The import is resolved at run time, so a missing Playwright prints install instructions instead of anERR_MODULE_NOT_FOUNDstack trace. Both paths verified.Not wired into CI — it needs a browser download and a running server, whereas the CI gate is stdlib and offline. Run it by hand before shipping a UI change.
Verification
16/16 against production (
https://veda-algorithm-catalog.netlify.app) using the committed script, withpackage.jsonconfirmed unmodified (installed vianpm i --no-save).typecheck,build,validate_data.pyandrules_parity_test.pyall still exit 0.This PR touches
algorithm-catalog/, so it will produce a deploy preview — unlike a docs-only PR, which Netlify correctly skips.