"""办理 payload 规范化与必填校验。""" import unittest from datetime import datetime from app.services.sample_info_progress import apply_handle_payload class TestApplyHandlePayload(unittest.TestCase): def test_apply_sets_status(self): out = apply_handle_payload( handle_time=datetime(2026, 10, 5, 9, 0, 0), handler_user_id="u1", attachments="http://a.png", remark="ok", ) self.assertEqual(out["handle_time"].year, 2026) self.assertEqual(out["handler_user_id"], "u1") self.assertEqual(out["make_or_todo_status"], "1") self.assertEqual(out["legacy_date"], "20261005") self.assertEqual(out["attachments"], "http://a.png") self.assertEqual(out["remark"], "ok") def test_apply_clear(self): out = apply_handle_payload( handle_time=None, handler_user_id="u1", attachments="", remark="" ) self.assertIsNone(out["handle_time"]) self.assertIsNone(out["handler_user_id"]) self.assertEqual(out["make_or_todo_status"], "0") self.assertEqual(out["legacy_date"], "") def test_handle_time_requires_handler(self): with self.assertRaises(ValueError): apply_handle_payload(handle_time=datetime(2026, 10, 5, 9, 0, 0), handler_user_id="")