def test_find_program_referrals_assessment_after_referral(self): program_assignment = StateProgramAssignment.new_with_defaults( state_code='US_CA', program_id='PG3', referral_date=date(2009, 10, 3)) assessment_1 = StateAssessment.new_with_defaults( state_code='US_CA', assessment_type=StateAssessmentType.ORAS, assessment_score=33, assessment_date=date(2009, 3, 10)) assessment_2 = StateAssessment.new_with_defaults( state_code='US_CA', assessment_type=StateAssessmentType.ORAS, assessment_score=29, assessment_date=date(2009, 10, 4)) program_assignments = [program_assignment] assessments = [assessment_1, assessment_2] supervision_periods = [] program_referrals = identifier.find_program_referrals( program_assignments, assessments, supervision_periods, DEFAULT_SUPERVISION_PERIOD_AGENT_ASSOCIATIONS) self.assertEqual(1, len(program_referrals)) self.assertEqual([ ProgramReferralEvent(state_code=program_assignment.state_code, program_id=program_assignment.program_id, event_date=program_assignment.referral_date, assessment_score=33, assessment_type=StateAssessmentType.ORAS) ], program_referrals)
def test_find_program_referrals_multiple_assessments(self): program_assignment = StateProgramAssignment.new_with_defaults( state_code="US_XX", program_id="PG3", referral_date=date(2009, 10, 3), participation_status=StateProgramAssignmentParticipationStatus. IN_PROGRESS, ) assessment_1 = StateAssessment.new_with_defaults( state_code="US_XX", assessment_type=StateAssessmentType.ORAS, assessment_score=33, assessment_date=date(2009, 3, 10), ) assessment_2 = StateAssessment.new_with_defaults( state_code="US_XX", assessment_type=StateAssessmentType.ORAS, assessment_score=29, assessment_date=date(2009, 9, 14), ) supervision_period = StateSupervisionPeriod.new_with_defaults( supervision_period_id=111, status=StateSupervisionPeriodStatus.TERMINATED, state_code="US_XX", start_date=date(2008, 3, 5), termination_date=date(2010, 5, 19), termination_reason=StateSupervisionPeriodTerminationReason. DISCHARGE, supervision_type=StateSupervisionType.PAROLE, ) assessments = [assessment_1, assessment_2] supervision_periods = [supervision_period] program_referrals = identifier.find_program_referrals( program_assignment, assessments, supervision_periods, DEFAULT_SUPERVISION_PERIOD_AGENT_ASSOCIATIONS, ) self.assertListEqual( [ ProgramReferralEvent( state_code=program_assignment.state_code, program_id=program_assignment.program_id, event_date=program_assignment.referral_date, participation_status=program_assignment. participation_status, assessment_score=29, assessment_type=StateAssessmentType.ORAS, supervision_type=supervision_period.supervision_type, ) ], program_referrals, )
def test_find_program_referrals_officer_info(self): program_assignment = StateProgramAssignment.new_with_defaults( state_code='US_CA', program_id='PG3', referral_date=date(2009, 10, 3), participation_status=StateProgramAssignmentParticipationStatus. DISCHARGED, ) assessment = StateAssessment.new_with_defaults( state_code='US_CA', assessment_type=StateAssessmentType.ORAS, assessment_score=33, assessment_date=date(2009, 7, 10)) supervision_period = \ StateSupervisionPeriod.new_with_defaults( supervision_period_id=111, status=StateSupervisionPeriodStatus.TERMINATED, state_code='UT', start_date=date(2008, 3, 5), termination_date=date(2010, 5, 19), termination_reason= StateSupervisionPeriodTerminationReason.DISCHARGE, supervision_type=StateSupervisionType.PAROLE ) program_assignments = [program_assignment] assessments = [assessment] supervision_periods = [supervision_period] supervision_period_agent_associations = { supervision_period.supervision_period_id: { 'agent_id': 000, 'agent_external_id': 'OFFICER10', 'district_external_id': 'DISTRICT8', 'supervision_period_id': supervision_period.supervision_period_id } } program_referrals = identifier.find_program_referrals( program_assignments, assessments, supervision_periods, supervision_period_agent_associations) self.assertEqual(1, len(program_referrals)) self.assertEqual([ ProgramReferralEvent( state_code=program_assignment.state_code, program_id=program_assignment.program_id, event_date=program_assignment.referral_date, participation_status=program_assignment.participation_status, assessment_score=33, assessment_type=StateAssessmentType.ORAS, supervision_type=supervision_period.supervision_type, supervising_officer_external_id='OFFICER10', supervising_district_external_id='DISTRICT8') ], program_referrals)
def test_find_program_referrals_no_referral(self): program_assignment = StateProgramAssignment.new_with_defaults( state_code='US_CA', program_id='PG3', ) assessments = [] supervision_periods = [] program_referrals = identifier.find_program_referrals( program_assignment, assessments, supervision_periods, DEFAULT_SUPERVISION_PERIOD_AGENT_ASSOCIATIONS) self.assertListEqual([], program_referrals)
def test_find_program_referrals_multiple_assessments(self): program_assignment = StateProgramAssignment.new_with_defaults( state_code='US_CA', program_id='PG3', referral_date=date(2009, 10, 3)) assessment_1 = StateAssessment.new_with_defaults( state_code='US_CA', assessment_type=StateAssessmentType.ORAS, assessment_score=33, assessment_date=date(2009, 3, 10)) assessment_2 = StateAssessment.new_with_defaults( state_code='US_CA', assessment_type=StateAssessmentType.ORAS, assessment_score=29, assessment_date=date(2009, 9, 14)) supervision_period = \ StateSupervisionPeriod.new_with_defaults( supervision_period_id=111, status=StateSupervisionPeriodStatus.TERMINATED, state_code='UT', start_date=date(2008, 3, 5), termination_date=date(2010, 5, 19), termination_reason= StateSupervisionPeriodTerminationReason.DISCHARGE, supervision_type=StateSupervisionType.PAROLE ) program_assignments = [program_assignment] assessments = [assessment_1, assessment_2] supervision_periods = [supervision_period] program_referrals = identifier.find_program_referrals( program_assignments, assessments, supervision_periods, DEFAULT_SUPERVISION_PERIOD_AGENT_ASSOCIATIONS) self.assertEqual(1, len(program_referrals)) self.assertEqual([ ProgramReferralEvent( state_code=program_assignment.state_code, program_id=program_assignment.program_id, event_date=program_assignment.referral_date, assessment_score=29, assessment_type=StateAssessmentType.ORAS, supervision_type=supervision_period.supervision_type) ], program_referrals)
def test_find_program_referrals_assessment_after_referral(self): program_assignment = StateProgramAssignment.new_with_defaults( state_code="US_XX", program_id="PG3", referral_date=date(2009, 10, 3), participation_status=StateProgramAssignmentParticipationStatus. DISCHARGED, ) assessment_1 = StateAssessment.new_with_defaults( state_code="US_XX", assessment_type=StateAssessmentType.ORAS, assessment_score=33, assessment_date=date(2009, 3, 10), ) assessment_2 = StateAssessment.new_with_defaults( state_code="US_XX", assessment_type=StateAssessmentType.ORAS, assessment_score=29, assessment_date=date(2009, 10, 4), ) assessments = [assessment_1, assessment_2] supervision_periods = [] program_referrals = identifier.find_program_referrals( program_assignment, assessments, supervision_periods, DEFAULT_SUPERVISION_PERIOD_AGENT_ASSOCIATIONS, ) self.assertListEqual( [ ProgramReferralEvent( state_code=program_assignment.state_code, program_id=program_assignment.program_id, event_date=program_assignment.referral_date, participation_status=program_assignment. participation_status, assessment_score=33, assessment_type=StateAssessmentType.ORAS, ) ], program_referrals, )
def test_find_program_referrals_no_referral(self): program_assignment = StateProgramAssignment.new_with_defaults( state_code="US_XX", program_id="PG3", participation_status=StateProgramAssignmentParticipationStatus. PRESENT_WITHOUT_INFO, ) assessments = [] supervision_periods = [] program_referrals = identifier.find_program_referrals( program_assignment, assessments, supervision_periods, DEFAULT_SUPERVISION_PERIOD_AGENT_ASSOCIATIONS, ) self.assertListEqual([], program_referrals)
def test_find_program_referrals_multiple_supervisions(self): program_assignment = StateProgramAssignment.new_with_defaults( state_code='US_XX', program_id='PG3', referral_date=date(2009, 10, 3), participation_status=StateProgramAssignmentParticipationStatus.PENDING, ) assessment = StateAssessment.new_with_defaults( state_code='US_XX', assessment_type=StateAssessmentType.ORAS, assessment_score=33, assessment_date=date(2009, 7, 10) ) supervision_period_1 = \ StateSupervisionPeriod.new_with_defaults( supervision_period_id=111, status=StateSupervisionPeriodStatus.TERMINATED, state_code='US_XX', start_date=date(2008, 3, 5), termination_date=date(2010, 5, 19), termination_reason=StateSupervisionPeriodTerminationReason.DISCHARGE, supervision_type=StateSupervisionType.PAROLE ) supervision_period_2 = \ StateSupervisionPeriod.new_with_defaults( supervision_period_id=111, status=StateSupervisionPeriodStatus.TERMINATED, state_code='US_XX', start_date=date(2006, 12, 1), termination_date=date(2013, 1, 4), termination_reason=StateSupervisionPeriodTerminationReason.DISCHARGE, supervision_type=StateSupervisionType.PROBATION ) assessments = [assessment] supervision_periods = [supervision_period_1, supervision_period_2] program_referrals = identifier.find_program_referrals( program_assignment, assessments, supervision_periods, DEFAULT_SUPERVISION_PERIOD_AGENT_ASSOCIATIONS ) self.assertListEqual( [ ProgramReferralEvent( state_code=program_assignment.state_code, program_id=program_assignment.program_id, event_date=program_assignment.referral_date, participation_status=program_assignment.participation_status, assessment_score=33, assessment_type=StateAssessmentType.ORAS, supervision_type=supervision_period_1.supervision_type ), ProgramReferralEvent( state_code=program_assignment.state_code, program_id=program_assignment.program_id, event_date=program_assignment.referral_date, participation_status=program_assignment.participation_status, assessment_score=33, assessment_type=StateAssessmentType.ORAS, supervision_type=supervision_period_2.supervision_type ) ], program_referrals)
def test_find_program_referrals_officer_info_us_nd(self): program_assignment = StateProgramAssignment.new_with_defaults( state_code="US_ND", program_id="PG3", referral_date=date(2009, 10, 3), participation_status=StateProgramAssignmentParticipationStatus. DISCHARGED, ) assessment = StateAssessment.new_with_defaults( state_code="US_ND", assessment_type=StateAssessmentType.ORAS, assessment_score=33, assessment_date=date(2009, 7, 10), ) supervision_period = StateSupervisionPeriod.new_with_defaults( supervision_period_id=111, status=StateSupervisionPeriodStatus.TERMINATED, state_code="US_ND", start_date=date(2008, 3, 5), termination_date=date(2010, 5, 19), termination_reason=StateSupervisionPeriodTerminationReason. DISCHARGE, supervision_type=StateSupervisionType.PAROLE, supervision_site="DISTRICT8", ) assessments = [assessment] supervision_periods = [supervision_period] supervision_period_agent_associations = { supervision_period.supervision_period_id: { "agent_id": 000, "agent_external_id": "OFFICER10", "supervision_period_id": supervision_period.supervision_period_id, } } program_referrals = identifier.find_program_referrals( program_assignment, assessments, supervision_periods, supervision_period_agent_associations, ) self.maxDiff = None self.assertListEqual( [ ProgramReferralEvent( state_code=program_assignment.state_code, program_id=program_assignment.program_id, event_date=program_assignment.referral_date, participation_status=program_assignment. participation_status, assessment_score=33, assessment_type=StateAssessmentType.ORAS, supervision_type=supervision_period.supervision_type, supervising_officer_external_id="OFFICER10", supervising_district_external_id="DISTRICT8", level_1_supervision_location_external_id="DISTRICT8", level_2_supervision_location_external_id=None, ) ], program_referrals, )
def test_find_program_referrals_no_assignments(self): program_referrals = identifier.find_program_referrals( [], [], [], DEFAULT_SUPERVISION_PERIOD_AGENT_ASSOCIATIONS) self.assertEqual([], program_referrals)