| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- import unittest
- from app.crud.production_task_set import (
- collect_missing_route_ids,
- normalize_item_payload,
- skip_empty_named_tasks,
- )
- class TestNormalizeItemPayload(unittest.TestCase):
- def test_requires_task_name(self):
- self.assertIsNone(normalize_item_payload({"taskName": " ", "routeId": "r1"}))
- def test_keeps_optional_fields(self):
- item = normalize_item_payload(
- {
- "taskName": "分离",
- "routeId": " r1 ",
- "description": " d ",
- "remark": " m ",
- }
- )
- self.assertEqual(
- item,
- {
- "task_name": "分离",
- "route_id": "r1",
- "description": "d",
- "remark": "m",
- },
- )
- def test_empty_route_becomes_none(self):
- item = normalize_item_payload({"taskName": "培养", "routeId": ""})
- self.assertEqual(item["route_id"], None)
- self.assertEqual(item["description"], None)
- self.assertEqual(item["remark"], None)
- class TestSkipEmptyNamedTasks(unittest.TestCase):
- def test_skips_blank_names_and_counts(self):
- kept, skipped = skip_empty_named_tasks(
- [
- {"task_name": "A", "route_id": "r1", "description": None, "remark": "x"},
- {"task_name": " ", "route_id": "r2"},
- {"task_name": None, "route_id": None},
- ]
- )
- self.assertEqual(skipped, 2)
- self.assertEqual(len(kept), 1)
- self.assertEqual(kept[0]["task_name"], "A")
- self.assertEqual(kept[0]["remark"], "x")
- class TestCollectMissingRouteIds(unittest.TestCase):
- def test_empty_route_not_missing(self):
- self.assertEqual(
- collect_missing_route_ids(
- [{"route_id": None}, {"route_id": ""}],
- {"alive"},
- ),
- [],
- )
- def test_lists_missing_preserving_order_unique(self):
- self.assertEqual(
- collect_missing_route_ids(
- [{"route_id": "gone"}, {"route_id": "alive"}, {"route_id": "gone"}],
- {"alive"},
- ),
- ["gone"],
- )
- if __name__ == "__main__":
- unittest.main()
|