Rewrite E2E test suite for Vue SPA (Streamlit selectors no longer valid) #124
Labels
No labels
a11y
backlog
beta-feedback
bug
enhancement
feature-request
frontend
needs-triage
question
vue
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Circuit-Forge/peregrine#124
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Background
The existing Playwright E2E tests in
tests/e2e/were written against the Streamlit UI and use Streamlit-specific DOM selectors (stSidebarNav,stTab,stException,stAlert,stCheckbox, etc.).Peregrine is now a Vue 3 SPA served by Nginx (
webservice) with a FastAPI backend (apiservice). The old tests cannot be adapted with simple selector swaps — the navigation model, component structure, and error patterns are all different.What needs to change
Delete / retire
tests/e2e/pages/— all Streamlit page objects (usestSidebarNavfor navigation)tests/e2e/conftest.py— Streamlit-specific helpers (wait_for_page_load,clear_errors,ErrorRecorddetection viastException)tests/e2e/test_smoke.py— navigates via Streamlit sidebartests/e2e/test_interactions.py— clicks Streamlit widgetsRewrite targets
/,/jobs,/apply/:id,/interviews,/wizard,/settings)#appor[data-v-*]), check no console errorsfetch()calls (network tab), visible error bannershttp://localhost:8504/peregrine; LLM endpoints return 403 (demo guard), verify graceful degradationMode configs to update
tests/e2e/modes/demo.py,cloud.py,local.py— update base URLs and any Streamlit-specific setupAcceptance criteria
pytest tests/e2e/ --mode=demopasses green against the running demo instance athttp://localhost:8504/peregrineNotes
http://localhost:8504/peregrine(Nginx proxies/peregrineprefix to the Vue app)http://localhost:8504/api/*(Nginx proxies to FastAPI on port 8601)