54 lines
1.8 KiB
Python
54 lines
1.8 KiB
Python
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()
|