kx_guo 680b0c20cf 接入采购订单台账并统一PDF与Word报告导出
按供应商近三年去重采购单据统计真实合作频次,替换异常记录代理值;新增采购订单导入、合作频次计算、风险评分口径同步,以及PDF/Word报告生成接口。
2026-09-08 11:59:10 +08:00

53 lines
1.4 KiB
Python

from app.database.base import Base
from app.models import ( # noqa: F401
AnomalyCase,
Conversation,
ConversationMessage,
OperationAudit,
ReviewRecord,
RiskAssessment,
RiskItem,
RiskModelConfig,
RolePermission,
StandardRule,
SupplierProfile,
UserAccount,
)
from sqlalchemy import BigInteger
def test_prd_core_tables_are_registered() -> None:
assert set(Base.metadata.tables) == {
"anomaly_cases",
"conversations",
"conversation_messages",
"operation_audits",
"review_records",
"risk_assessments",
"risk_items",
"risk_model_configs",
"purchase_order_lines",
"role_permissions",
"standard_rules",
"supplier_profiles",
"user_accounts",
}
def test_prd_tables_use_bigint_primary_keys() -> None:
for table in Base.metadata.sorted_tables:
assert isinstance(table.c.id.type, BigInteger)
assert table.c.id.primary_key
def test_review_and_standard_foreign_keys_are_registered() -> None:
review_targets = {
foreign_key.target_fullname for foreign_key in Base.metadata.tables["review_records"].foreign_keys
}
anomaly_targets = {
foreign_key.target_fullname for foreign_key in Base.metadata.tables["anomaly_cases"].foreign_keys
}
assert review_targets == {"risk_items.id", "anomaly_cases.id"}
assert anomaly_targets == {"standard_rules.id"}