test_crm_product_read_contract.py 739 B

123456789101112131415161718192021222324
  1. """CRM 产品读模型契约测试。"""
  2. from __future__ import annotations
  3. from app.crud.crm.product import _product_row_to_dict
  4. from app.models.crm_models import CrmProduct
  5. from app.schemas.crm.product import ProductCreateBody, ProductUpdateBody
  6. def test_product_read_contract_exposes_creator_for_delete_permission():
  7. row = CrmProduct(
  8. id="product-1",
  9. product_no="CP-001",
  10. product_name="工业甲醇",
  11. create_by="user-1",
  12. )
  13. payload = _product_row_to_dict(row)
  14. assert payload["createBy"] == "user-1"
  15. def test_product_creator_stays_read_only_in_write_schemas():
  16. assert "create_by" not in ProductCreateBody.model_fields
  17. assert "create_by" not in ProductUpdateBody.model_fields