@@ -153,7 +153,7 @@ def test_fhir_converter_json_direct_data(self):
153153 self .assertEqual (flatJSON , expected_imms )
154154
155155 errorRecords = FHIRConverter .getErrorRecords ()
156-
156+
157157 self .assertEqual (len (errorRecords ), 0 )
158158
159159 def test_fhir_converter_json_error_scenario (self ):
@@ -461,22 +461,52 @@ def test_convert_to_date_time(self, MockLookUpData):
461461
462462 checker = ConversionChecker (dataParser , summarise = False , report_unexpected_exception = True )
463463
464- valid_date_time = "2022-01-01T12:00:00+00:00"
465- result = checker ._convertToDateTime ("%Y%m%dT%H%M%S" , "fieldName" , valid_date_time , False , True )
466- self .assertEqual (result , "20220101T120000" )
464+ valid_date_time = "2025-01-01T12:00:00+00:00"
465+ result = checker ._convertToDateTime ("fhir-date" , "fieldName" , valid_date_time , False , True )
466+ self .assertEqual (result , "20250101T12000000" )
467+
468+ valid_fhir_date = "2025-01-01T13:28:17+00:00"
469+ result = checker ._convertToDateTime ("fhir-date" , "fieldName" , valid_fhir_date , False , True )
470+ self .assertEqual (result , "20250101T13281700" )
467471
468- valid_csv_utc = "2022-01-01T13:28:17+00:00"
469- result = checker ._convertToDateTime ("format:csv-utc" , "fieldName" , valid_csv_utc , False , True )
470- self .assertEqual (result , "20220101T13281700" )
472+ valid_fhir_date = "2022-01-01"
473+ result = checker ._convertToDateTime ("" , "fieldName" , valid_fhir_date , False , True )
474+ self .assertEqual (result , "20220101T00000000" )
475+
476+ valid_fhir_date = "2025-05-01T13:28:17+01:00"
477+ result = checker ._convertToDateTime ("fhir-date" , "fieldName" , valid_fhir_date , False , True )
478+ self .assertEqual (result , "20250501T13281701" )
471479
472480 invalid_date_time = "invalid_date_time"
473- result = checker ._convertToDateTime ("format:%Y%m%dT%H%M%S" , "fieldName" , invalid_date_time , False , True )
474- self .assertEqual (result , "Unexpected format: invalid_date_time" )
481+ result = checker ._convertToDateTime ("fhir-date" , "fieldName" , invalid_date_time , False , True )
482+ self .assertEqual (result , "" )
483+
484+ valid_date_time = "2025-01-01T12:00:00+03:00"
485+ result = checker ._convertToDateTime ("fhir-date" , "fieldName" , valid_date_time , False , True )
486+ self .assertEqual (result , "" )
487+
488+ messages = [err ["message" ] for err in checker .errorRecords ]
489+ print (f"Error Test Case, { messages } " )
490+
491+ self .assertIn ("Unexpected exception [ValueError]" , messages [0 ])
492+ self .assertIn ("Unsupported Format or offset" , messages [1 ])
493+
494+ # Confirm Total Errors Per conversion
495+ self .assertEqual (len (checker .errorRecords ), 2 )
475496
476- # Empty input returns blank
477- result = checker ._convertToDateTime ("format:%Y%m%dT%H%M%S" , "fieldName" , "" , False , True )
497+ # Test for value Error
498+ checker ._log_error = Mock ()
499+
500+ valid_fhir_date = "2022-01"
501+ result = checker ._convertToDateTime ("fhir-date" , "fieldName" , valid_fhir_date , False , True )
478502 self .assertEqual (result , "" )
479503
504+ # ensure we logged exactly that ValueError
505+ checker ._log_error .assert_called_once ()
506+ field , value , err = checker ._log_error .call_args [0 ]
507+ self .assertEqual ((field , value ), ("fieldName" , valid_fhir_date ))
508+ self .assertIsInstance (err , ValueError )
509+
480510 @patch ("ConversionChecker.LookUpData" )
481511 def test_convert_to_boolean (self , MockLookUpData ):
482512 dataParser = Mock ()
0 commit comments