test_crm_contract_default_sort.py 884 B

1234567891011121314151617181920212223242526
  1. """合同列表默认排序:未传 sortField/sortOrder 时按签订日期倒序。"""
  2. from __future__ import annotations
  3. from unittest.mock import MagicMock
  4. from app.crud.crm.contract import list_contracts
  5. from app.models.crm_models import CrmContract
  6. def test_list_contracts_default_order_by_sign_date_desc():
  7. db = MagicMock()
  8. q = MagicMock()
  9. q.filter.return_value = q
  10. q.order_by.return_value = q
  11. q.with_entities.return_value = q
  12. q.scalar.return_value = 0
  13. q.offset.return_value = q
  14. q.limit.return_value = q
  15. q.all.return_value = []
  16. db.query.return_value = q
  17. list_contracts(db, "shanxia2.0", filters={})
  18. # _build_contract_filters 内 order_by(default);list_contracts 内 order_by(None) 清排序再 count
  19. assert q.order_by.call_count >= 1
  20. assert q.order_by.call_args_list[0][0][0].compare(CrmContract.sign_date.desc())