def testParseCharge(self): # Arrange ingest_charge = ingest_info_pb2.Charge( charge_id="CHARGE_ID", attempted="True", degree="FIRST", charge_class="FELONY", status="DROPPED", court_type="DISTRICT", ) # Act charge.copy_fields_to_builder(self.subject, ingest_charge, _EMPTY_METADATA) result = self.subject.build() # Assert expected_result = entities.Charge.new_with_defaults( external_id="CHARGE_ID", attempted=True, degree=ChargeDegree.FIRST, degree_raw_text="FIRST", charge_class=ChargeClass.FELONY, class_raw_text="FELONY", status=ChargeStatus.DROPPED, status_raw_text="DROPPED", court_type="DISTRICT", ) self.assertEqual(result, expected_result)
def testParseCharge_MapAcrossFields(self): # Arrange overrides_builder = EnumOverrides.Builder() overrides_builder.add("FELONY", ChargeClass.FELONY, ChargeDegree) overrides_builder.add("FIRST DEGREE", ChargeDegree.FIRST, ChargeClass) metadata = FakeIngestMetadata.for_county( region="REGION", enum_overrides=overrides_builder.build() ) ingest_charge = ingest_info_pb2.Charge( charge_class="first degree", degree="felony" ) # Act charge.copy_fields_to_builder(self.subject, ingest_charge, metadata) result = self.subject.build() # Assert expected_result = entities.Charge.new_with_defaults( degree=ChargeDegree.FIRST, degree_raw_text="FELONY", charge_class=ChargeClass.FELONY, class_raw_text="FIRST DEGREE", status=ChargeStatus.PRESENT_WITHOUT_INFO, ) self.assertEqual(result, expected_result)
def testParseCharge_SetsDefaults(self): # Arrange ingest_charge = ingest_info_pb2.Charge() # Act charge.copy_fields_to_builder(self.subject, ingest_charge, _EMPTY_METADATA) result = self.subject.build() # Assert expected_result = entities.Charge.new_with_defaults( status=ChargeStatus.PRESENT_WITHOUT_INFO ) self.assertEqual(result, expected_result)
def testParseCharge_classInName(self): # Arrange ingest_charge = ingest_info_pb2.Charge(name="Felony Murder") # Act charge.copy_fields_to_builder(self.subject, ingest_charge, _EMPTY_METADATA) result = self.subject.build() # Assert expected_result = entities.Charge.new_with_defaults( name="FELONY MURDER", charge_class=ChargeClass.FELONY, status=ChargeStatus.PRESENT_WITHOUT_INFO, ) self.assertEqual(result, expected_result)
def testParseCharge_classWithSpaceInName(self): # Arrange ingest_charge = ingest_info_pb2.Charge( name="Failed Drug Test - Probation Violation" ) # Act charge.copy_fields_to_builder(self.subject, ingest_charge, _EMPTY_METADATA) result = self.subject.build() # Assert expected_result = entities.Charge.new_with_defaults( name="FAILED DRUG TEST - PROBATION VIOLATION", charge_class=ChargeClass.PROBATION_VIOLATION, status=ChargeStatus.PRESENT_WITHOUT_INFO, ) self.assertEqual(result, expected_result)
def testParseCharge_MapAcrossFields(self): # Arrange overrides_builder = EnumOverrides.Builder() overrides_builder.add('FELONY', ChargeClass.FELONY, ChargeDegree) overrides_builder.add('FIRST DEGREE', ChargeDegree.FIRST, ChargeClass) metadata = IngestMetadata.new_with_defaults( enum_overrides=overrides_builder.build()) ingest_charge = ingest_info_pb2.Charge(charge_class='first degree', degree='felony') # Act charge.copy_fields_to_builder(self.subject, ingest_charge, metadata) result = self.subject.build() # Assert expected_result = entities.Charge.new_with_defaults( degree=ChargeDegree.FIRST, degree_raw_text='FELONY', charge_class=ChargeClass.FELONY, class_raw_text='FIRST DEGREE', status=ChargeStatus.PRESENT_WITHOUT_INFO) self.assertEqual(result, expected_result)