- Add tests/e2e/test_smoke.py: page-load error check for all pages - Add tests/e2e/test_interactions.py: click every interactable, diff errors, XFAIL expected demo failures, flag regressions as XPASS - Fix conftest get_page_errors() to use text_content() instead of inner_text() so errors inside collapsed expanders are captured with their actual message text (inner_text respects CSS display:none) - Fix tests/e2e/modes/demo.py base_url to include /peregrine path prefix (STREAMLIT_SERVER_BASE_URL_PATH=peregrine set in demo container) App fixes surfaced by the harness: - task_runner.py: add DEMO_MODE guard for discovery task — previously crashed with FileNotFoundError on search_profiles.yaml before any demo guard could fire; now returns friendly error immediately - 6_Interview_Prep.py: stop auto-triggering LLM session on page load in demo mode; show "AI features disabled" info instead, preventing a silent st.error() inside the collapsed Practice Q&A expander Both smoke and interaction tests now pass clean against demo mode.
25 lines
721 B
Python
25 lines
721 B
Python
"""Demo mode config — port 8504, DEMO_MODE=true, LLM/scraping neutered."""
|
|
from pathlib import Path
|
|
from tests.e2e.models import ModeConfig
|
|
|
|
_BASE_SETTINGS_TABS = [
|
|
"👤 My Profile", "📝 Resume Profile", "🔎 Search",
|
|
"⚙️ System", "🎯 Fine-Tune", "🔑 License", "💾 Data",
|
|
]
|
|
|
|
DEMO = ModeConfig(
|
|
name="demo",
|
|
base_url="http://localhost:8504/peregrine",
|
|
auth_setup=lambda ctx: None,
|
|
expected_failures=[
|
|
"Fetch*",
|
|
"Generate Cover Letter*",
|
|
"Generate*",
|
|
"Analyze Screenshot*",
|
|
"Push to Calendar*",
|
|
"Sync Email*",
|
|
"Start Email Sync*",
|
|
],
|
|
results_dir=Path("tests/e2e/results/demo"),
|
|
settings_tabs=_BASE_SETTINGS_TABS,
|
|
)
|