fix(tests): skip web-bundle assertion when the frontend is not built - #31
Open
rajathpi wants to merge 1 commit into
Open
fix(tests): skip web-bundle assertion when the frontend is not built#31rajathpi wants to merge 1 commit into
rajathpi wants to merge 1 commit into
Conversation
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.
Problem
On a fresh clone,
pip install -e '.[test]' && pytestfails with one error:Cause
The test asserts that
GET /serves the SPA, but the web bundle lives atsrc/lh_harness/_frontend/web/dist, which is git-ignored and only produced bynpm run build --prefix frontend/web.create_appalready tolerates the missing bundle (server.py:if _STATIC_DIR.is_dir(): app.mount(...)) — packaging deliberately treats it as a build artifact so a checkout without a Node toolchain still installs — but the test did not. CI never hits this becauserelease.ymlbuilds the frontend before running pytest, and no workflow runs onpull_request, so nothing catches it for contributors.Fix
test_built_web_bundle_is_served_at_root, guarded by@pytest.mark.skipif(not _STATIC_DIR.is_dir(), ...)with an actionable skip reason. The condition mirrorscreate_app's own guard, so the test and production behavior cannot drift.Verification
169 passed, 1 skipped, with the skip reason printed under-rs.npm ci --prefix frontend/web --no-audit --no-fund && npm run build --prefix frontend/web):170 passed— the new test genuinely runs when the bundle exists.