test_qc_work_order_conclusion.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. """质检工单列表:由任务结论派生工单级合格/不合格。"""
  2. import unittest
  3. class TestDeriveWorkOrderQcConclusion(unittest.TestCase):
  4. def test_empty_tasks(self):
  5. from app.services.qc_work_order_conclusion import derive_work_order_qc_conclusion
  6. self.assertEqual(derive_work_order_qc_conclusion([]), "")
  7. def test_any_fail_is_unqualified(self):
  8. from app.services.qc_work_order_conclusion import derive_work_order_qc_conclusion
  9. self.assertEqual(derive_work_order_qc_conclusion(["tg", "btg", ""]), "btg")
  10. def test_all_pass_is_qualified(self):
  11. from app.services.qc_work_order_conclusion import derive_work_order_qc_conclusion
  12. self.assertEqual(derive_work_order_qc_conclusion(["tg", "tg"]), "tg")
  13. def test_incomplete_returns_empty(self):
  14. from app.services.qc_work_order_conclusion import derive_work_order_qc_conclusion
  15. self.assertEqual(derive_work_order_qc_conclusion(["tg", ""]), "")
  16. self.assertEqual(derive_work_order_qc_conclusion(["tg", None]), "")
  17. def test_labels_qualified_unqualified(self):
  18. from app.services.qc_work_order_conclusion import (
  19. work_order_qc_conclusion_label,
  20. )
  21. self.assertEqual(work_order_qc_conclusion_label("tg"), "合格")
  22. self.assertEqual(work_order_qc_conclusion_label("btg"), "不合格")
  23. self.assertEqual(work_order_qc_conclusion_label(""), "")
  24. self.assertEqual(work_order_qc_conclusion_label("x"), "")
  25. class TestBuildQcConclusionFields(unittest.TestCase):
  26. def test_build_fields(self):
  27. from app.services.qc_work_order_conclusion import build_qc_conclusion_fields
  28. self.assertEqual(
  29. build_qc_conclusion_fields(["tg", "tg"]),
  30. {"qcConclusion": "tg", "qcConclusionLabel": "合格"},
  31. )
  32. self.assertEqual(
  33. build_qc_conclusion_fields(["btg"]),
  34. {"qcConclusion": "btg", "qcConclusionLabel": "不合格"},
  35. )
  36. self.assertEqual(
  37. build_qc_conclusion_fields(["tg", ""]),
  38. {"qcConclusion": "", "qcConclusionLabel": ""},
  39. )
  40. if __name__ == "__main__":
  41. unittest.main()