Files
cma-management/backend/tests/test_probe_cost.py
T
Hermes CI Fix a13a080381 test: CMA自动化测试补覆盖 226→452用例, 覆盖率36%→60%
- 新增8个测试文件(bot_bridge/kpi_causality/cash/predict/reports/tax_compliance/expenses/probe_cost)
- 增强 budget/auth/users + conftest账套模式适配
- 测试驱动修复: bot_bridge导入batch_id→source_batch; cash_forecast extra空dict
- 全量: 451 passed, 1 xfailed; 报告 docs/cma-test-coverage-report.md
2026-08-20 06:57:24 +08:00

39 lines
1.7 KiB
Python

"""探针:cost 分析端点行为"""
from fastapi.testclient import TestClient
from sqlalchemy.orm import Session
from tests.conftest import create_test_user, get_token_for_user, auth_header
class TestProbeCost:
BASE = "/api/cma/cost"
def test_probe_overview(self, client: TestClient, db: Session):
create_test_user(db)
token = get_token_for_user(client)
r = client.get(f"{self.BASE}/overview?period=2026-06", headers=auth_header(token))
print("OVERVIEW", r.status_code, r.text[:150])
def test_probe_variance(self, client: TestClient, db: Session):
create_test_user(db)
token = get_token_for_user(client)
r = client.get(f"{self.BASE}/variance?product_code=PROD_A&period=2026-06", headers=auth_header(token))
print("VARIANCE", r.status_code, r.text[:200])
def test_probe_breakdown(self, client: TestClient, db: Session):
create_test_user(db)
token = get_token_for_user(client)
r = client.get(f"{self.BASE}/breakdown?product_code=PROD_A&period=2026-06", headers=auth_header(token))
print("BREAKDOWN", r.status_code, r.text[:200])
def test_probe_comparison(self, client: TestClient, db: Session):
create_test_user(db)
token = get_token_for_user(client)
r = client.get(f"{self.BASE}/comparison?entity=hanke", headers=auth_header(token))
print("COMPARISON", r.status_code, r.text[:120])
def test_probe_dashboard(self, client: TestClient, db: Session):
create_test_user(db)
token = get_token_for_user(client)
r = client.get(f"{self.BASE}/dashboard?period=2026-06", headers=auth_header(token))
print("DASHBOARD", r.status_code, r.text[:300])