Files
zkxw/backend/tests/test_customer_service_dict.py
T

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()