test_sample_info_handle.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. """办理 payload 规范化与必填校验。"""
  2. import unittest
  3. from datetime import datetime
  4. from app.services.sample_info_progress import apply_handle_payload
  5. class TestApplyHandlePayload(unittest.TestCase):
  6. def test_apply_sets_status(self):
  7. out = apply_handle_payload(
  8. handle_time=datetime(2026, 10, 5, 9, 0, 0),
  9. handler_user_id="u1",
  10. attachments="http://a.png",
  11. remark="ok",
  12. )
  13. self.assertEqual(out["handle_time"].year, 2026)
  14. self.assertEqual(out["handler_user_id"], "u1")
  15. self.assertEqual(out["make_or_todo_status"], "1")
  16. self.assertEqual(out["legacy_date"], "20261005")
  17. self.assertEqual(out["attachments"], "http://a.png")
  18. self.assertEqual(out["remark"], "ok")
  19. def test_apply_clear(self):
  20. out = apply_handle_payload(
  21. handle_time=None, handler_user_id="u1", attachments="", remark=""
  22. )
  23. self.assertIsNone(out["handle_time"])
  24. self.assertIsNone(out["handler_user_id"])
  25. self.assertEqual(out["make_or_todo_status"], "0")
  26. self.assertEqual(out["legacy_date"], "")
  27. def test_handle_time_requires_handler(self):
  28. with self.assertRaises(ValueError):
  29. apply_handle_payload(handle_time=datetime(2026, 10, 5, 9, 0, 0), handler_user_id="")