8db716ca36
The homepage was waiting on a full chart plus four extra engines, so the card timed out and showed the failure copy on every visit. Co-authored-by: Cursor <cursoragent@cursor.com>
45 lines
1.7 KiB
Python
45 lines
1.7 KiB
Python
from pathlib import Path
|
|
|
|
|
|
PAGE = Path("frontend/src/app/page.tsx")
|
|
DAILY_ROUTE = Path("frontend/src/app/api/daily-starlanguage/route.ts")
|
|
RECTIFICATION_ROUTE = Path("frontend/src/app/api/birth-rectification/route.ts")
|
|
|
|
|
|
def test_daily_starlanguage_entrypoint_is_productized() -> None:
|
|
source = PAGE.read_text(encoding="utf-8")
|
|
assert "今日星语" in source
|
|
assert "fetchDailyStarlanguage" in source
|
|
assert "daily-starlanguage-card" in source
|
|
assert "draftDailyStarlanguageQuestion" in source
|
|
assert "从今日问起" in source
|
|
assert "今天的星语还没写出来。" in source
|
|
assert "buildDailyStarlanguageCard" not in source
|
|
assert "点这里" not in source
|
|
assert "不会用通用文案顶替" not in source
|
|
|
|
|
|
def test_daily_starlanguage_api_declares_honest_source_boundary() -> None:
|
|
source = DAILY_ROUTE.read_text(encoding="utf-8")
|
|
assert "status: \"ok\"" in source
|
|
assert "/api/daily_guidance" in source
|
|
assert "/api/chart" not in source
|
|
assert "/api/transit" not in source
|
|
assert "exploratory_unvalidated" in source
|
|
assert "not_deterministic_prediction" in source
|
|
|
|
|
|
def test_birth_time_rectification_entrypoint_is_productized() -> None:
|
|
source = PAGE.read_text(encoding="utf-8")
|
|
assert "生时校正" in source
|
|
assert "birth-rectification-card" in source
|
|
assert "openRectificationFromHomepage" in source
|
|
|
|
|
|
def test_birth_rectification_api_proxies_active_questionnaire_with_boundary() -> None:
|
|
source = RECTIFICATION_ROUTE.read_text(encoding="utf-8")
|
|
assert "/api/active_rectification_questions" in source
|
|
assert "candidate_scan" in source
|
|
assert "question_count" in source
|
|
assert "not_auto_rectified" in source
|