fix(cma): entity isolation batch5 (budget writes, kpi objectives scope, quality logs join, growth-quality db source, expenses scope)
ci/woodpecker/push/main Pipeline failed
ci/woodpecker/push/main Pipeline failed
This commit is contained in:
@@ -252,16 +252,27 @@ class TestGrowthQuality:
|
||||
assert "overall" in data or "level" in data or "score" in data
|
||||
|
||||
def test_growth_quality_entity2(self, client: TestClient, db: Session):
|
||||
"""博海增长质量(需绑定 entity2 的会话 token,鉴权收口后不再靠 body entity_id)"""
|
||||
"""博海增长质量:企业名取库内 Entity.name,且不采信请求体指标(账套隔离 2026-09-21)
|
||||
|
||||
契约变更:原断言硬编码 ENTITY_DATA 的 "陕西博海网络科技"(该硬编码兜底已按
|
||||
batch5 派单要求移除)→ 改为断言库内来源;无 kpi_values 时如实返回未采集。
|
||||
"""
|
||||
token2 = _token_for_entity(client, db, 2)
|
||||
resp = client.post(f"{BASE}/growth-quality", json={"entity_id": 2},
|
||||
resp = client.post(f"{BASE}/growth-quality", json={"entity_id": 2, "rebateRate": 99},
|
||||
headers=auth_header(token2))
|
||||
assert resp.status_code == 200
|
||||
data = resp.json()
|
||||
assert data["entity_name"] == "陕西博海网络科技"
|
||||
assert data["entity_id"] == 2
|
||||
assert data["entity_name"] == "企业2", "企业名应取库内 Entity.name,而非硬编码"
|
||||
assert data["collected"] is False
|
||||
assert data["overall"] is None, "库内无数据不得编造评分"
|
||||
|
||||
def test_growth_quality_custom(self, client: TestClient, db: Session):
|
||||
"""自定义企业数据(低分场景)"""
|
||||
"""自定义企业数据(低分场景)→ 契约变更:请求体指标不再被采信
|
||||
|
||||
原用例靠请求体 rebateRate/mgmtRatio 等打分得 danger;该回退已按 batch5 派单
|
||||
要求移除 → 改为断言请求体指标被忽略、无库内数据即未采集(不编造评分)。
|
||||
"""
|
||||
token99 = _token_for_entity(client, db, 99)
|
||||
resp = client.post(f"{BASE}/growth-quality", json={
|
||||
"entity_id": 99,
|
||||
@@ -271,8 +282,7 @@ class TestGrowthQuality:
|
||||
}, headers=auth_header(token99))
|
||||
assert resp.status_code == 200
|
||||
data = resp.json()
|
||||
assert data["entity_name"] == "测试企业"
|
||||
assert data["overall"] < 2
|
||||
assert data["level_type"] == "danger"
|
||||
# 低分诊断
|
||||
assert "越增长越重" in data["diagnosis"]
|
||||
assert data["entity_name"] == "企业99", "企业名取库内,不取请求体 name"
|
||||
assert data["collected"] is False
|
||||
assert data["overall"] is None and data["level_type"] is None
|
||||
assert data["dimensions"] == {} and data["diagnosis"] is None
|
||||
|
||||
Reference in New Issue
Block a user