"""客户服务字典规范化与 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()