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)
示例#2
0
    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,
        )
示例#3
0
    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)
示例#4
0
    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)
示例#6
0
    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,
        )
示例#7
0
    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)
示例#8
0
    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)
示例#9
0
    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,
        )
示例#10
0
    def test_find_program_referrals_no_assignments(self):
        program_referrals = identifier.find_program_referrals(
            [], [], [], DEFAULT_SUPERVISION_PERIOD_AGENT_ASSOCIATIONS)

        self.assertEqual([], program_referrals)