"""样本信息列表快捷登记:去重与入库字段规范化。""" import unittest from datetime import datetime from app.services.sample_info_quick_register import ( apply_quick_storage_payload, unique_nonempty_ids, ) class TestUniqueNonemptyIds(unittest.TestCase): def test_keeps_order_and_drops_blank_dupes(self): self.assertEqual( unique_nonempty_ids([" a ", "b", "a", "", None, "b"]), ["a", "b"], ) def test_empty(self): self.assertEqual(unique_nonempty_ids([]), []) class TestApplyQuickStoragePayload(unittest.TestCase): def test_requires_handle_time(self): with self.assertRaises(ValueError): apply_quick_storage_payload( handle_time=None, handler_user_id="u1", attachments="", remark="" ) def test_maps_to_stored_fields(self): ht = datetime(2026, 10, 6, 10, 30, 0) out = apply_quick_storage_payload( handle_time=ht, handler_user_id="u1", attachments="http://f.pdf", remark="ok", ) self.assertEqual(out["storage_status"], "yrk") self.assertEqual(out["storage_time"], ht) self.assertEqual(out["storage_by"], "u1") self.assertEqual(out["storage_in_date"], "20261006") self.assertEqual(out["attachments"], "http://f.pdf") self.assertEqual(out["remark"], "ok")