Files
gaokao-volunteer-system/admin/tests/test_admin_ui_pages.py
Hermes Agent 25a84c426b
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
feat(admin): add hidden dashboard seed-order tools
- add hidden dev-only seed endpoint /api/admin/orders/dev-seed
  - overdue_pending_once: create one 2-day-old pending order with draft intake
  - cleanup_demo_seed: delete demo-tagged seeded orders
- restrict hidden seed route to non-prod env
- avoid decrypting all orders during cleanup; query ids/tags directly from SQL
- dashboard hidden entry:
  - title id=dashboard-title
  - dev-seed-panel hidden by default
  - opens via 5 title clicks or ?seed-tools=1
  - buttons: 补 1 笔超时待办 / 清理演示造数
- dashboard JS:
  - postDevSeed()
  - panel show/hide
  - refresh dashboard after seed/cleanup
- tests:
  - route auth + create/cleanup flow
  - dashboard HTML/JS structure assertions
  - admin UI page exposes hidden entry markup
- verification:
  - pytest 69 passed
  - browser: ?seed-tools=1 展开面板, 补造后 pending=8 overdue=1 missing=8, 清理后恢复 pending=7 overdue hidden
2026-06-17 10:42:14 +08:00

25 lines
905 B
Python

from __future__ import annotations
def test_admin_new_order_page_renders(client):
resp = client.get("/admin/orders/new")
assert resp.status_code == 200, resp.text
assert "后台手动添加订单" in resp.text
assert "/api/orders" in resp.text
assert "人工补录更直接" in resp.text
assert '/static/portal-ui.css' in resp.text
assert "考试省份" in resp.text
def test_dashboard_exposes_admin_quick_links(client):
resp = client.get("/dashboard")
assert resp.status_code == 200, resp.text
assert "/admin/orders/new" in resp.text
assert "/admin/notifications" in resp.text
assert "/admin/ops-alerts" in resp.text
assert 'id="dashboard-title"' in resp.text
assert 'id="dev-seed-panel"' in resp.text
assert 'id="dev-seed-overdue-btn"' in resp.text
assert 'id="dev-seed-clean-btn"' in resp.text
assert '?seed-tools=1' in resp.text