Пример #1
0
    def test_convicted_charge_is_not_a_recent_acquittal(self):
        charge = ChargeFactory.create(date=self.LESS_THAN_THREE_YEARS_AGO)
        charge.disposition = Disposition(date=self.LESS_THAN_THREE_YEARS_AGO,
                                         ruling="Convicted")

        assert charge.recent_acquittal() is False
Пример #2
0
    def test_expunger_sets_mrd_when_mrd_is_at_end_of_list(self):
        case = CaseFactory.create()
        mrd_charge = ChargeFactory.create_dismissed_charge(date=self.TWO_YEARS_AGO)
        charge = ChargeFactory.create_dismissed_charge(date=self.LESS_THAN_THREE_YEARS_AGO)
        case.charges = [charge, charge, mrd_charge]
        record = Record([case])

        expunger = Expunger(record)
        expunger.run()

        assert expunger.most_recent_dismissal is mrd_charge

    def test_it_sets_most_recent_conviction_from_the_last_10yrs(self):
        case = CaseFactory.create()
        mrc_charge = ChargeFactory.create()
        mrc_charge.disposition = Disposition(self.LESS_THAN_TEN_YEARS_AGO, 'Convicted')
        case.charges = [mrc_charge]
        record = Record([case])

        expunger = Expunger(record)
        expunger.run()

        assert expunger.most_recent_conviction is mrc_charge

    def test_it_sets_the_second_most_recent_conviction_within_the_last_10yrs(self):
        case = CaseFactory.create()
        mrc_charge = ChargeFactory.create()
        mrc_charge.disposition = Disposition(self.TWO_YEARS_AGO, 'Convicted')
        second_mrc_charge = ChargeFactory.create()
        second_mrc_charge.disposition = Disposition(self.LESS_THAN_TEN_YEARS_AGO, 'Convicted')
Пример #3
0
    def test_most_recent_acquittal_happy_path(self):
        charge = ChargeFactory.create(date=self.LESS_THAN_THREE_YEARS_AGO)
        charge.disposition = Disposition(date=self.LESS_THAN_THREE_YEARS_AGO,
                                         ruling="Dismissed")

        assert charge.recent_acquittal() is True
Пример #4
0
    def test_most_recent_acquittal_sad_path(self):
        charge = ChargeFactory.create(date=self.THREE_YEARS_AGO)
        charge.disposition = Disposition(date=self.THREE_YEARS_AGO,
                                         ruling="Dismissed")

        assert charge.recent_acquittal() is False
Пример #5
0
 def setUp(self):
     last_week = datetime.today() - timedelta(days=7)
     self.single_charge = ChargeFactory.build()
     self.single_charge["disposition"] = Disposition(ruling="Dismissed",
                                                     date=last_week)
     self.charges = []
Пример #6
0
    def test_dismissed_charge_is_not_a_recent_conviction(self):
        charge = ChargeFactory.create()
        charge.disposition = Disposition(self.LESS_THAN_TEN_YEARS_AGO,
                                         "Dismissed")

        assert charge.recent_conviction() is False
 def setUp(self):
     last_week = (datetime.today() - timedelta(days=7)).strftime('%m/%d/%Y')
     self.single_charge = ChargeFactory.build()
     self.single_charge['disposition'] = Disposition(date=last_week,
                                                     ruling='No Complaint')
     self.charges = []
Пример #8
0
 def create_charge(self):
     charge = ChargeFactory.save(self.charge)
     charge.disposition = Disposition(**self.convicted_disposition)
     return charge
Пример #9
0
 def __build_charge(charge_id, charge, case_parser):
     if case_parser.hashed_dispo_data.get(charge_id):
         charge['disposition'] = Disposition(
             case_parser.hashed_dispo_data[charge_id].get('date'),
             case_parser.hashed_dispo_data[charge_id].get('ruling'))
     return Charge.create(**charge)
Пример #10
0
     date=date(2001, 1, 1),
     violation_type="Something",
     current_status="CLOSED",
     case_detail_link="alink",
     balance_due_in_cents=0,
 ),
 (
     OeciCharge(
         ambiguous_charge_id="X0001-1",
         name="manufacturing",
         statute="100.000",
         level="Felony Class B",
         date=date(2000, 1, 1),
         disposition=Disposition(
             date=date(2001, 1, 1),
             ruling="Convicted",
             status=DispositionStatus.CONVICTED,
             amended=False,
         ),
         probation_revoked=None,
         balance_due_in_cents=0,
     ),
     OeciCharge(
         ambiguous_charge_id="X0001-2",
         name="assault 3",
         statute="200.000",
         level="Felony Class C",
         date=date(2001, 1, 1),
         disposition=DispositionCreator.empty(),
         probation_revoked=None,
         balance_due_in_cents=0,
     ),
Пример #11
0
class Dispositions:
    LAST_WEEK = datetime.today() - timedelta(days=7)
    CONVICTED = Disposition(ruling="Convicted", date=LAST_WEEK)
    DISMISSED = Disposition(ruling="Dismissed", date=LAST_WEEK)
    UNRECOGNIZED_DISPOSITION = Disposition(ruling="Something unrecognized", date=LAST_WEEK)
    NO_COMPLAINT = Disposition(ruling="No Complaint", date=LAST_WEEK)
Пример #12
0
    case = CaseFactory.create()
    case.charges = [violation_charge, arrest]
    expunger = Expunger(Record([case]))
    expunger.run()

    assert arrest.expungement_result.time_eligibility.status is EligibilityStatus.ELIGIBLE
    assert arrest.expungement_result.time_eligibility.date_will_be_eligible == arrest.date
    assert arrest.expungement_result.time_eligibility.reason == ""


def test_eligible_mrc_with_violation():
    case = CaseFactory.create()

    three_yr_mrc = ChargeFactory.create(case=case,
                                        disposition=Disposition(
                                            ruling="Convicted",
                                            date=Time.THREE_YEARS_AGO))

    arrest = ChargeFactory.create(case=case,
                                  disposition=Disposition(
                                      ruling="Dismissed",
                                      date=Time.THREE_YEARS_AGO))

    violation = ChargeFactory.create(level="Violation",
                                     case=case,
                                     disposition=Disposition(
                                         ruling="Convicted",
                                         date=Time.THREE_YEARS_AGO))

    case.charges = [three_yr_mrc, arrest, violation]
    record = Record([case])
Пример #13
0
 def setUp(self):
     last_week = datetime.today() - timedelta(days=7)
     self.single_charge = ChargeFactory.build()
     self.single_charge["disposition"] = Disposition(date=last_week,
                                                     ruling="No Complaint")
     self.charges = []
def build_charges(statute, disposition_ruling):
    last_week = datetime.today() - timedelta(days=7)
    return ChargeFactory.create_ambiguous_charge(statute=statute,
                                                 disposition=Disposition(
                                                     ruling=disposition_ruling,
                                                     date=last_week))
Пример #15
0
    def test_it_knows_if_it_has_a_recent_conviction_happy_path(self):
        charge = ChargeFactory.create()
        charge.disposition = Disposition(self.LESS_THAN_TEN_YEARS_AGO,
                                         "Convicted")

        assert charge.recent_conviction() is True
Пример #16
0
        kwargs = {
            "case": case,
            "name": name,
            "statute": statute,
            "level": level,
            "date": date_string,
            "disposition": disposition,
        }

        return ChargeCreator.create(**kwargs)

    @staticmethod
    def create_dismissed_charge(
            case=CaseFactory.create(),
            name="Theft of services",
            statute="164.125",
            level="Misdemeanor Class A",
            date=date_class(1901, 1, 1),
    ):
        disposition = Disposition(date=date_class.today(), ruling="Dismissed")
        kwargs = {
            "case": case,
            "name": name,
            "statute": statute,
            "level": level,
            "date": date.strftime("%m/%d/%Y"),
            "disposition": disposition,
        }

        return ChargeCreator.create(**kwargs)
Пример #17
0
    def test_it_knows_if_it_has_a_recent_conviction_sad_path(self):
        charge = ChargeFactory.create()
        charge.disposition = Disposition(self.TEN_YEARS_AGO, "Convicted")

        assert charge.recent_conviction() is False
Пример #18
0
 def setUp(self):
     last_week = datetime.today() - timedelta(days=7)
     self.single_charge = ChargeFactory.build(
         disposition=Disposition(ruling="Convicted", date=last_week))
     self.charges = []
Пример #19
0
                }

    @staticmethod
    def save(charge):
        return Charge.create(**charge)

    @staticmethod
    def create(case=CaseFactory.create(),
               name='Theft of services',
               statute='164.125',
               level='Misdemeanor Class A',
               date='1/1/0001',
               disposition=None):
        if disposition:
            ruling, date = disposition
            disposition = Disposition(date=date, ruling=ruling)
        else:
            disposition = Disposition()
        kwargs = {'case': case, 'name': name, 'statute': statute, 'level': level, 'date': date, 'disposition': disposition}

        return Charge.create(**kwargs)

    @staticmethod
    def create_dismissed_charge(case=CaseFactory.create(),
                                name='Theft of services',
                                statute='164.125',
                                level='Misdemeanor Class A',
                                date='1/1/0001'):
        disposition = Disposition(date=date_class.today().strftime('%m/%d/%Y'), ruling='Dismissed')
        kwargs = {'case': case, 'name': name, 'statute': statute, 'level': level, 'date': date, 'disposition': disposition}