fix(e2e): assert the deep link as a path, not a hash - #1344
Merged
Conversation
Follow-up to #1341, which left one E2E test red on development (111 passed, 1 failed). SPA-001 navigates correctly -- gotoHash() was already de-hashed -- but its closing assertion still required the URL to contain '#/search', which history routing no longer produces. Matched as a SUFFIX rather than an exact URL: Nextcloud serves the app as both /apps/... and /index.php/apps/..., and the router emits whichever base the page was loaded under, so pinning either would fail on the other for a reason that is not a defect. Renamed the file-local gotoHash() to gotoRoute(). It stopped using a hash when the app moved to history routing, and a helper whose name says 'hash' is the next reader's wrong turn. Extended the docblock to say WHY the assertion matters: the Dashboard is exactly what renders when the router cannot resolve a path and the catch-all redirects to '/', so 'Search, not Dashboard' is the real guard against a base-mismatch regression. Verified: SPA-001 passes against the dev container. prettier --check on the full glob is clean.
Quality Report — ConductionNL/opencatalogi @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-l10n | ✅ | ||||
| check-manifest | ✅ | ||||
| format | ✅ | ||||
| check-schema-l10n | ✅ | ||||
| check-l10n-js | ✅ | ||||
| composer | ✅ | ✅ 129/129 | |||
| npm | ✅ | ✅ 881/881 | |||
| app:check-code | ⏭️ | ||||
| info.xml | ✅ | ||||
| REUSE | ❌ | ||||
| PHPUnit | ✅ | ||||
| Newman | ✅ | ||||
| Playwright | ⏭️ deferred — runs on the promotion into beta/main, not on a pull request into development | ||||
| Hydra gates | ✅ |
Quality workflow — 2026-09-01 09:43 UTC
Download the full PDF report from the workflow artifacts.
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.
Follow-up to #1341, which left one E2E test red on
development(111 passed, 1 failed).SPA-001navigates correctly —gotoHash()was already de-hashed — but its closing assertion still required the URL to contain#/search, which history routing no longer produces.Matched as a suffix rather than an exact URL: Nextcloud serves the app as both
/apps/...and/index.php/apps/..., and the router emits whichever base the page was loaded under, so pinning either would fail on the other for a reason that is not a defect.Renamed the file-local
gotoHash()→gotoRoute(). It stopped using a hash when the app moved to history routing, and a helper whose name says "hash" is the next reader's wrong turn.Extended the docblock to say why the assertion matters: the Dashboard is exactly what renders when the router cannot resolve a path and the catch-all redirects to
/— so "Search, not Dashboard" is the real guard against a base-mismatch regression.Verified: SPA-001 passes against the dev container;
prettier --checkon the full glob is clean.