44 lines
1.4 KiB
Python
44 lines
1.4 KiB
Python
"""客户服务字典规范化与 CRUD 辅助。"""
|
|
import unittest
|
|
from unittest.mock import MagicMock
|
|
|
|
from app.crud.customer_service_dict import ensure_dict_value
|
|
from app.services.sample_customer_service_register import normalize_dict_value
|
|
|
|
|
|
class TestNormalizeDictValue(unittest.TestCase):
|
|
def test_strips_whitespace(self):
|
|
self.assertEqual(normalize_dict_value(" 已发 "), "已发")
|
|
|
|
def test_empty_string_returns_none(self):
|
|
self.assertIsNone(normalize_dict_value(""))
|
|
|
|
def test_whitespace_only_returns_none(self):
|
|
self.assertIsNone(normalize_dict_value(" "))
|
|
|
|
def test_none_returns_none(self):
|
|
self.assertIsNone(normalize_dict_value(None))
|
|
|
|
|
|
class TestEnsureDictValue(unittest.TestCase):
|
|
def test_returns_none_for_blank_value(self):
|
|
db = MagicMock()
|
|
self.assertIsNone(
|
|
ensure_dict_value(db, "zkxw", "sms_send_status", " ", user_id="u1")
|
|
)
|
|
db.add.assert_not_called()
|
|
|
|
def test_returns_existing_without_insert(self):
|
|
db = MagicMock()
|
|
existing = MagicMock()
|
|
existing.dict_value = "已发"
|
|
db.query.return_value.filter.return_value.first.return_value = existing
|
|
|
|
result = ensure_dict_value(
|
|
db, "zkxw", "sms_send_status", " 已发 ", user_id="u1"
|
|
)
|
|
|
|
self.assertEqual(result, "已发")
|
|
db.add.assert_not_called()
|
|
db.flush.assert_not_called()
|