Repository navigation
test(e2e): browser coverage for Inertia v3 client features via dev-host fixture pages - #820
Merged
Merged
Conversation
…st fixture pages Claude-Session: https://claude.ai/code/session_01FXHA3ZJ5EgoJN4zXTAhBR2
…in the bundle; honour E2E_USERNAME Claude-Session: https://claude.ai/code/session_01FXHA3ZJ5EgoJN4zXTAhBR2
… control without it Claude-Session: https://claude.ai/code/session_01FXHA3ZJ5EgoJN4zXTAhBR2
Deploying simple-module-python with
|
| Latest commit: |
956de1d
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://2478faa0.simple-module-python.pages.dev |
| Branch Preview URL: | https://test-inertia-e2e-coverage.simple-module-python.pages.dev |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
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.
Summary
Browser e2e coverage for the Inertia v3 client features that no framework page exercises today. Before this PR,
tests/e2ecovered page URLs, titles, i18n, error pages and mutating flows. Deferred props, once props, merge, infinite scroll, error bags, history encryption, WhenVisible, polling, prefetch and the asset-version reload were tested only at the protocol level, if at all.The fixtures are ported from the
inertia_labfeature lab (a freshsmpy newapp) that also produced #818.Fixture pages (dev host only)
host/e2e_inertia/defines routes under/__e2e/inertia.Authenticated().host/main.pymounts them only whensettings.is_development, which is the mode the CI e2e-smoke job runs in.host/tests/test_e2e_inertia_gating.pyproves a 404 outside development and a 401 for anonymous users./_probeslet the tests prove which lazy loaders ran.host/client_app/pages/E2eInertia/*.tsx, marked i18n-exempt as fixtures.pages.tsglobs them only underimport.meta.env.DEV, so production bundles drop them. Verified with avite build: no fixture chunk.Tests (
tests/e2e/inertia/, directory-scoped conftest)The conftest provides a signed-in
pagethat fails on any console or page error, and an autouse probe reset. Existing e2e tests keep Playwright's plainpage. The tests cover:only,except, and a dottedonly.merge,prepend,deep_merge,match_on, and reset.useForm: the default bag and a namederrorBag. The JSON-body validation case is markedxfail, not strict; fix(hosting,inertia): Inertia body validation redirects back with field errors; faster first loads #818 fixes it.back(), the fragment 409 and the external location 409.encryptHistory,clearHistory, andpreserveFragmentacross a redirect, plus a control that loses the hash without the flag. The test was verified failing when the flag is removed.X-Inertia-Versiongives a 409 and a full reload.Verification
tests/e2e(full, local stack on 8411/5411): 96 passed, 1 xfailed (before the last two test-only commits); the history file was re-run after them: 6 passed.make lint✓,make test-js✓ (891),host/tests✓ (38),make test-py✓.test_clean_target_is_not_in_repofails locally only when the sandbox leaves a/tmp/.gitplaceholder; it passes once that is removed.E2E_USERNAMEhonoured;https://claude.ai/code/session_01FXHA3ZJ5EgoJN4zXTAhBR2