test_research_donation_monthly_verify_no.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. """当月核量号:按租户+创建年月自增,含软删占用。"""
  2. from datetime import datetime
  3. from unittest.mock import MagicMock
  4. from app.crud import research_donation as crud
  5. def test_allocate_monthly_verify_no_first_of_month():
  6. db = MagicMock()
  7. db.query.return_value.filter.return_value.order_by.return_value.first.return_value = (None,)
  8. no = crud.allocate_monthly_verify_no(
  9. db, tenant_no="zkxw", create_time=datetime(2025, 8, 15, 10, 0, 0)
  10. )
  11. assert no == "202508001"
  12. def test_allocate_monthly_verify_no_increments():
  13. db = MagicMock()
  14. db.query.return_value.filter.return_value.order_by.return_value.first.return_value = (
  15. "202508007",
  16. )
  17. no = crud.allocate_monthly_verify_no(
  18. db, tenant_no="zkxw", create_time=datetime(2025, 8, 20, 12, 0, 0)
  19. )
  20. assert no == "202508008"
  21. def test_allocate_monthly_verify_no_new_month_resets():
  22. db = MagicMock()
  23. db.query.return_value.filter.return_value.order_by.return_value.first.return_value = (None,)
  24. no = crud.allocate_monthly_verify_no(
  25. db, tenant_no="zkxw", create_time=datetime(2025, 9, 1, 9, 0, 0)
  26. )
  27. assert no == "202509001"