Files
zkxw/backend/tests/test_production_task_name_placeholders.py
T
2026-09-01 11:32:49 +08:00

79 lines
2.4 KiB
Python

import unittest
from app.utils.production_task_name_placeholders import (
LAB_STORAGE_CODE_PLACEHOLDER,
apply_task_name_placeholders,
revert_task_name_placeholders,
)
class TestApplyTaskNamePlaceholders(unittest.TestCase):
def test_replaces_with_code(self):
self.assertEqual(
apply_task_name_placeholders(
f"{LAB_STORAGE_CODE_PLACEHOLDER}样本处理",
lab_storage_code="LS001",
),
"LS001样本处理",
)
def test_empty_code_becomes_empty_string(self):
self.assertEqual(
apply_task_name_placeholders(
f"{LAB_STORAGE_CODE_PLACEHOLDER}样本处理",
lab_storage_code="",
),
"样本处理",
)
def test_no_placeholder_unchanged(self):
self.assertEqual(
apply_task_name_placeholders("常规分装", lab_storage_code="LS001"),
"常规分装",
)
def test_unknown_placeholder_kept(self):
self.assertEqual(
apply_task_name_placeholders("{unknown}处理", lab_storage_code="LS001"),
"{unknown}处理",
)
def test_multiple_occurrences(self):
self.assertEqual(
apply_task_name_placeholders(
f"{LAB_STORAGE_CODE_PLACEHOLDER}-{LAB_STORAGE_CODE_PLACEHOLDER}",
lab_storage_code="A",
),
"A-A",
)
class TestRevertTaskNamePlaceholders(unittest.TestCase):
def test_reverts_code_to_placeholder(self):
self.assertEqual(
revert_task_name_placeholders("LS001样本处理", lab_storage_code="LS001"),
f"{LAB_STORAGE_CODE_PLACEHOLDER}样本处理",
)
def test_multiple_occurrences(self):
self.assertEqual(
revert_task_name_placeholders("前LS001后LS001", lab_storage_code="LS001"),
f"前{LAB_STORAGE_CODE_PLACEHOLDER}后{LAB_STORAGE_CODE_PLACEHOLDER}",
)
def test_empty_code_no_change(self):
self.assertEqual(
revert_task_name_placeholders("LS001样本处理", lab_storage_code=""),
"LS001样本处理",
)
def test_code_not_in_name(self):
self.assertEqual(
revert_task_name_placeholders("常规分装", lab_storage_code="LS001"),
"常规分装",
)
if __name__ == "__main__":
unittest.main()