test_production_task_name_placeholders.py 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import unittest
  2. from app.utils.production_task_name_placeholders import (
  3. LAB_STORAGE_CODE_PLACEHOLDER,
  4. apply_task_name_placeholders,
  5. revert_task_name_placeholders,
  6. )
  7. class TestApplyTaskNamePlaceholders(unittest.TestCase):
  8. def test_replaces_with_code(self):
  9. self.assertEqual(
  10. apply_task_name_placeholders(
  11. f"{LAB_STORAGE_CODE_PLACEHOLDER}样本处理",
  12. lab_storage_code="LS001",
  13. ),
  14. "LS001样本处理",
  15. )
  16. def test_empty_code_becomes_empty_string(self):
  17. self.assertEqual(
  18. apply_task_name_placeholders(
  19. f"{LAB_STORAGE_CODE_PLACEHOLDER}样本处理",
  20. lab_storage_code="",
  21. ),
  22. "样本处理",
  23. )
  24. def test_no_placeholder_unchanged(self):
  25. self.assertEqual(
  26. apply_task_name_placeholders("常规分装", lab_storage_code="LS001"),
  27. "常规分装",
  28. )
  29. def test_unknown_placeholder_kept(self):
  30. self.assertEqual(
  31. apply_task_name_placeholders("{unknown}处理", lab_storage_code="LS001"),
  32. "{unknown}处理",
  33. )
  34. def test_multiple_occurrences(self):
  35. self.assertEqual(
  36. apply_task_name_placeholders(
  37. f"{LAB_STORAGE_CODE_PLACEHOLDER}-{LAB_STORAGE_CODE_PLACEHOLDER}",
  38. lab_storage_code="A",
  39. ),
  40. "A-A",
  41. )
  42. class TestRevertTaskNamePlaceholders(unittest.TestCase):
  43. def test_reverts_code_to_placeholder(self):
  44. self.assertEqual(
  45. revert_task_name_placeholders("LS001样本处理", lab_storage_code="LS001"),
  46. f"{LAB_STORAGE_CODE_PLACEHOLDER}样本处理",
  47. )
  48. def test_multiple_occurrences(self):
  49. self.assertEqual(
  50. revert_task_name_placeholders("前LS001后LS001", lab_storage_code="LS001"),
  51. f"前{LAB_STORAGE_CODE_PLACEHOLDER}后{LAB_STORAGE_CODE_PLACEHOLDER}",
  52. )
  53. def test_empty_code_no_change(self):
  54. self.assertEqual(
  55. revert_task_name_placeholders("LS001样本处理", lab_storage_code=""),
  56. "LS001样本处理",
  57. )
  58. def test_code_not_in_name(self):
  59. self.assertEqual(
  60. revert_task_name_placeholders("常规分装", lab_storage_code="LS001"),
  61. "常规分装",
  62. )
  63. if __name__ == "__main__":
  64. unittest.main()