test_customer_service_dict.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. """客户服务字典规范化与 CRUD 辅助。"""
  2. import unittest
  3. from unittest.mock import MagicMock
  4. from app.crud.customer_service_dict import ensure_dict_value
  5. from app.services.sample_customer_service_register import normalize_dict_value
  6. class TestNormalizeDictValue(unittest.TestCase):
  7. def test_strips_whitespace(self):
  8. self.assertEqual(normalize_dict_value(" 已发 "), "已发")
  9. def test_empty_string_returns_none(self):
  10. self.assertIsNone(normalize_dict_value(""))
  11. def test_whitespace_only_returns_none(self):
  12. self.assertIsNone(normalize_dict_value(" "))
  13. def test_none_returns_none(self):
  14. self.assertIsNone(normalize_dict_value(None))
  15. class TestEnsureDictValue(unittest.TestCase):
  16. def test_returns_none_for_blank_value(self):
  17. db = MagicMock()
  18. self.assertIsNone(
  19. ensure_dict_value(db, "zkxw", "sms_send_status", " ", user_id="u1")
  20. )
  21. db.add.assert_not_called()
  22. def test_returns_existing_without_insert(self):
  23. db = MagicMock()
  24. existing = MagicMock()
  25. existing.dict_value = "已发"
  26. db.query.return_value.filter.return_value.first.return_value = existing
  27. result = ensure_dict_value(
  28. db, "zkxw", "sms_send_status", " 已发 ", user_id="u1"
  29. )
  30. self.assertEqual(result, "已发")
  31. db.add.assert_not_called()
  32. db.flush.assert_not_called()