"""Content 静态页 HTTP smoke:legal 与官网主页。""" from __future__ import annotations import pytest from fastapi import FastAPI from httpx import ASGITransport, AsyncClient from app.features.content.router import router as content_router from tests.conftest import install_test_error_handlers @pytest.fixture def content_app() -> FastAPI: app = install_test_error_handlers(FastAPI()) app.include_router(content_router) return app @pytest.mark.asyncio @pytest.mark.parametrize( "path,expected_fragment", [ ("/api/legal/terms", "用户协议"), ("/api/legal/privacy", "隐私"), ("/", "岁月留书"), ], ) async def test_content_static_pages_return_html( content_app: FastAPI, path: str, expected_fragment: str ) -> None: transport = ASGITransport(app=content_app) async with AsyncClient(transport=transport, base_url="http://test") as client: r = await client.get(path) assert r.status_code == 200 assert r.headers.get("content-type", "").startswith("text/html") assert expected_fragment in r.text