import unittest from app.services.lab_sample_processing_fields import ( DATASET_HSC, DATASET_MSC, DATASET_UBMC, DEPT_MARKET, DEPT_PRODUCTION, DEPT_QC, editable_depts_for_user, field_map, resolve_dataset_by_type_name, schema_payload, ) class LabSampleProcessingFieldsTest(unittest.TestCase): def test_resolve_dataset(self): self.assertEqual(resolve_dataset_by_type_name("围产期造血干细胞", "B0000001"), DATASET_HSC) self.assertEqual(resolve_dataset_by_type_name("脐带间充质干细胞", "BC0000003"), DATASET_MSC) self.assertEqual(resolve_dataset_by_type_name("", "UBMC2025001"), DATASET_UBMC) self.assertEqual(resolve_dataset_by_type_name("", "UC2026001"), DATASET_MSC) def test_schema_not_empty(self): self.assertGreater(len(schema_payload(DATASET_HSC)), 10) self.assertGreater(len(schema_payload(DATASET_UBMC)), 10) self.assertGreater(len(schema_payload(DATASET_MSC)), 10) def test_dept_acl(self): self.assertEqual( editable_depts_for_user( is_manager=True, dept_flags={DEPT_MARKET: False, DEPT_PRODUCTION: False, DEPT_QC: False}, ), {DEPT_MARKET, DEPT_PRODUCTION, DEPT_QC}, ) self.assertEqual( editable_depts_for_user( is_manager=False, dept_flags={DEPT_MARKET: False, DEPT_PRODUCTION: True, DEPT_QC: False}, ), {DEPT_PRODUCTION}, ) def test_hsc_market_and_qc_fields(self): fmap = field_map(DATASET_HSC) self.assertEqual(fmap["motherName"].dept, DEPT_MARKET) self.assertEqual(fmap["cd34Count"].dept, DEPT_QC) self.assertEqual(fmap["originalBloodWeightG"].dept, DEPT_PRODUCTION) if __name__ == "__main__": unittest.main()