Coverage report: 93%

Files Functions Classes

coverage.py v7.13.0, created at 2025-12-22 19:08 +0000

      Statements   Branches   Total
File function   coverage statements missing excluded   coverage branches partial   coverage
benefits / __init__.py (no function)   67% 6 2 0   100% 0 0   67%
benefits / admin.py BenefitsAdminSite.login   100% 1 0 0   100% 0 0   100%
benefits / admin.py BenefitsAdminSite.index   93% 15 1 0   67% 6 2   86%
benefits / admin.py (no function)   100% 21 0 0   100% 0 0   100%
benefits / apps.py (no function)   100% 3 0 0   100% 0 0   100%
benefits / core / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
benefits / core / admin / __init__.py (no function)   100% 6 0 0   100% 0 0   100%
benefits / core / admin / common.py (no function)   100% 6 0 0   100% 0 0   100%
benefits / core / admin / enrollment.py EnrollmentFlowForm.has_field   100% 1 0 0   100% 0 0   100%
benefits / core / admin / enrollment.py EnrollmentFlowForm.get   100% 1 0 0   100% 0 0   100%
benefits / core / admin / enrollment.py EnrollmentFlowForm.clean   100% 23 0 0   86% 14 2   95%
benefits / core / admin / enrollment.py SortableEnrollmentFlowAdmin.get_readonly_fields   100% 4 0 0   100% 2 0   100%
benefits / core / admin / enrollment.py (no function)   100% 22 0 0   100% 0 0   100%
benefits / core / admin / forms.py (no function)   100% 6 0 0   100% 0 0   100%
benefits / core / admin / mixins.py is_staff_member   100% 2 0 0   100% 0 0   100%
benefits / core / admin / mixins.py is_staff_member_or_superuser   100% 3 0 0   100% 2 0   100%
benefits / core / admin / mixins.py ProdReadOnlyPermissionMixin._user_can_manage   100% 3 0 0   100% 2 0   100%
benefits / core / admin / mixins.py ProdReadOnlyPermissionMixin.has_add_permission   100% 1 0 0   100% 0 0   100%
benefits / core / admin / mixins.py ProdReadOnlyPermissionMixin.has_change_permission   100% 1 0 0   100% 0 0   100%
benefits / core / admin / mixins.py ProdReadOnlyPermissionMixin.has_delete_permission   100% 1 0 0   100% 0 0   100%
benefits / core / admin / mixins.py ProdReadOnlyPermissionMixin.has_module_permission   100% 1 0 0   100% 0 0   100%
benefits / core / admin / mixins.py ProdReadOnlyPermissionMixin.has_view_permission   100% 1 0 0   100% 0 0   100%
benefits / core / admin / mixins.py StaffPermissionMixin._user_can_manage   100% 1 0 0   100% 0 0   100%
benefits / core / admin / mixins.py StaffPermissionMixin.has_add_permission   100% 1 0 0   100% 0 0   100%
benefits / core / admin / mixins.py StaffPermissionMixin.has_change_permission   100% 1 0 0   100% 0 0   100%
benefits / core / admin / mixins.py StaffPermissionMixin.has_delete_permission   100% 1 0 0   100% 0 0   100%
benefits / core / admin / mixins.py StaffPermissionMixin.has_module_permission   100% 1 0 0   100% 0 0   100%
benefits / core / admin / mixins.py StaffPermissionMixin.has_view_permission   100% 1 0 0   100% 0 0   100%
benefits / core / admin / mixins.py SuperuserPermissionMixin._user_can_manage   100% 1 0 0   100% 0 0   100%
benefits / core / admin / mixins.py SuperuserPermissionMixin.has_add_permission   100% 1 0 0   100% 0 0   100%
benefits / core / admin / mixins.py SuperuserPermissionMixin.has_change_permission   100% 1 0 0   100% 0 0   100%
benefits / core / admin / mixins.py SuperuserPermissionMixin.has_delete_permission   100% 1 0 0   100% 0 0   100%
benefits / core / admin / mixins.py SuperuserPermissionMixin.has_module_permission   100% 1 0 0   100% 0 0   100%
benefits / core / admin / mixins.py SuperuserPermissionMixin.has_view_permission   100% 1 0 0   100% 0 0   100%
benefits / core / admin / mixins.py (no function)   100% 25 0 0   100% 0 0   100%
benefits / core / admin / transit.py TransitAgencyAdmin.get_exclude   100% 6 0 0   100% 4 0   100%
benefits / core / admin / transit.py TransitAgencyAdmin.save_model   100% 8 0 0   100% 4 0   100%
benefits / core / admin / transit.py (no function)   100% 11 0 0   100% 0 0   100%
benefits / core / admin / users.py UserAdmin.get_fieldsets   100% 12 0 0   100% 6 0   100%
benefits / core / admin / users.py add_google_sso_userinfo   100% 12 0 0   100% 2 0   100%
benefits / core / admin / users.py add_staff_user_to_group   100% 3 0 0   100% 2 0   100%
benefits / core / admin / users.py pre_login_user   100% 3 0 0   100% 0 0   100%
benefits / core / admin / users.py (no function)   100% 20 0 0   100% 0 0   100%
benefits / core / admin / views.py BenefitsPasswordResetView.form_valid   100% 4 0 0   100% 0 0   100%
benefits / core / admin / views.py BenefitsPasswordResetDoneView.get_context_data   100% 3 0 0   100% 0 0   100%
benefits / core / admin / views.py BenefitsPasswordResetConfirmView.form_valid   100% 2 0 0   100% 0 0   100%
benefits / core / admin / views.py (no function)   100% 17 0 0   100% 0 0   100%
benefits / core / analytics.py Event.__init__   100% 24 0 0   100% 2 0   100%
benefits / core / analytics.py Event.__str__   100% 1 0 0   100% 0 0   100%
benefits / core / analytics.py Event.update_event_properties   100% 1 0 0   100% 0 0   100%
benefits / core / analytics.py Event.update_user_properties   100% 1 0 0   100% 0 0   100%
benefits / core / analytics.py Event.update_enrollment_flows   100% 3 0 0   100% 0 0   100%
benefits / core / analytics.py ViewedPageEvent.__init__   100% 8 0 0   100% 0 0   100%
benefits / core / analytics.py ChangedLanguageEvent.__init__   100% 2 0 0   100% 0 0   100%
benefits / core / analytics.py Client.__init__   100% 4 0 0   100% 0 0   100%
benefits / core / analytics.py Client._payload   0% 3 3 0   0% 2 0   0%
benefits / core / analytics.py Client.send   20% 20 16 0   17% 12 2   19%
benefits / core / analytics.py send_event   67% 3 1 0   50% 2 1   60%
benefits / core / analytics.py (no function)   100% 29 0 0   100% 0 0   100%
benefits / core / apps.py (no function)   100% 5 0 0   100% 0 0   100%
benefits / core / context / __init__.py formatted_gettext_lazy   100% 1 0 0   100% 0 0   100%
benefits / core / context / __init__.py (no function)   100% 6 0 0   100% 0 0   100%
benefits / core / context / agency.py AgencyIndex.dict   100% 1 0 0   100% 0 0   100%
benefits / core / context / agency.py (no function)   100% 18 0 0   100% 0 0   100%
benefits / core / context / flow.py FlowHelp.dict   0% 1 1 0   100% 0 0   0%
benefits / core / context / flow.py (no function)   100% 18 0 0   100% 0 0   100%
benefits / core / context_processors.py _agency_context   75% 8 2 0   33% 6 2   57%
benefits / core / context_processors.py agency   100% 4 0 0   100% 2 0   100%
benefits / core / context_processors.py active_agencies   100% 2 0 0   100% 0 0   100%
benefits / core / context_processors.py analytics   100% 1 0 0   100% 0 0   100%
benefits / core / context_processors.py authentication   38% 8 5 0   25% 4 1   33%
benefits / core / context_processors.py debug   0% 1 1 0   100% 0 0   0%
benefits / core / context_processors.py enrollment   100% 5 0 0   100% 0 0   100%
benefits / core / context_processors.py feature_flags   100% 1 0 0   100% 0 0   100%
benefits / core / context_processors.py origin   75% 4 1 0   50% 2 1   67%
benefits / core / context_processors.py routes   100% 1 0 0   100% 0 0   100%
benefits / core / context_processors.py (no function)   100% 13 0 0   100% 0 0   100%
benefits / core / forms.py get_active_agency_choices   100% 4 0 0   100% 2 0   100%
benefits / core / forms.py ChooseAgencyForm.__init__   100% 5 0 0   100% 0 0   100%
benefits / core / forms.py ChooseAgencyForm.clean   100% 5 0 0   100% 2 0   100%
benefits / core / forms.py (no function)   100% 10 0 0   100% 0 0   100%
benefits / core / middleware.py user_error   100% 1 0 0   100% 0 0   100%
benefits / core / middleware.py AgencySessionRequired.process_request   60% 5 2 0   50% 2 1   57%
benefits / core / middleware.py EligibleSessionRequired.process_request   0% 5 5 0   0% 2 0   0%
benefits / core / middleware.py DebugSession.process_request   0% 2 2 0   100% 0 0   0%
benefits / core / middleware.py Healthcheck.__init__   100% 1 0 0   100% 0 0   100%
benefits / core / middleware.py Healthcheck.__call__   100% 3 0 0   100% 2 0   100%
benefits / core / middleware.py HealthcheckUserAgents.process_request   100% 5 0 0   75% 4 1   89%
benefits / core / middleware.py FlowSessionRequired.process_request   100% 5 0 0   100% 2 0   100%
benefits / core / middleware.py ViewedPageEvent.process_response   67% 6 2 0   100% 0 0   67%
benefits / core / middleware.py ChangedLanguageEvent.process_view   100% 7 0 0   100% 4 0   100%
benefits / core / middleware.py RecaptchaEnabled.process_request   67% 3 1 0   50% 2 1   60%
benefits / core / middleware.py IndexOrAgencyIndexOrigin.process_request   100% 4 0 0   100% 2 0   100%
benefits / core / middleware.py (no function)   100% 37 0 0   100% 0 0   100%
benefits / core / mixins.py AgencySessionRequiredMixin.dispatch   100% 5 0 0   100% 2 0   100%
benefits / core / mixins.py EligibleSessionRequiredMixin.dispatch   100% 4 0 0   100% 2 0   100%
benefits / core / mixins.py FlowSessionRequiredMixin.dispatch   100% 6 0 0   100% 2 0   100%
benefits / core / mixins.py PageViewMixin.dispatch   67% 6 2 0   100% 0 0   67%
benefits / core / mixins.py RecaptchaEnabledMixin.dispatch   100% 3 0 0   100% 2 0   100%
benefits / core / mixins.py ValidateRecaptchaMixin.clean   100% 3 0 0   100% 2 0   100%
benefits / core / mixins.py (no function)   100% 19 0 0   100% 0 0   100%
benefits / core / models / __init__.py (no function)   100% 4 0 0   100% 0 0   100%
benefits / core / models / common.py template_path   100% 8 0 0   100% 10 0   100%
benefits / core / models / common.py SecretNameField.__init__   100% 4 0 0   100% 0 0   100%
benefits / core / models / common.py SecretNameField.secret_value   100% 2 0 0   100% 0 0   100%
benefits / core / models / common.py PemData.__str__   100% 1 0 0   100% 0 0   100%
benefits / core / models / common.py PemData.data   82% 11 2 0   100% 4 0   87%
benefits / core / models / common.py (no function)   100% 25 0 0   100% 0 0   100%
benefits / core / models / enrollment.py EligibilityApiVerificationRequest.__str__   100% 1 0 0   100% 0 0   100%
benefits / core / models / enrollment.py EligibilityApiVerificationRequest.api_auth_key   100% 2 0 0   100% 0 0   100%
benefits / core / models / enrollment.py EligibilityApiVerificationRequest.api_public_key_data   100% 1 0 0   100% 0 0   100%
benefits / core / models / enrollment.py EnrollmentFlow.__str__   100% 2 0 0   100% 0 0   100%
benefits / core / models / enrollment.py EnrollmentFlow.group_id   88% 8 1 0   83% 6 1   86%
benefits / core / models / enrollment.py EnrollmentFlow.agency_card_name   100% 3 0 0   100% 2 0   100%
benefits / core / models / enrollment.py EnrollmentFlow.eligibility_api_auth_key   67% 3 1 0   50% 2 1   60%
benefits / core / models / enrollment.py EnrollmentFlow.eligibility_api_public_key_data   67% 3 1 0   50% 2 1   60%
benefits / core / models / enrollment.py EnrollmentFlow.selection_label_template   100% 4 0 0   100% 2 0   100%
benefits / core / models / enrollment.py EnrollmentFlow.eligibility_start_context   100% 1 0 0   100% 0 0   100%
benefits / core / models / enrollment.py EnrollmentFlow.eligibility_unverified_context   100% 2 0 0   100% 0 0   100%
benefits / core / models / enrollment.py EnrollmentFlow.uses_claims_verification   100% 1 0 0   100% 0 0   100%
benefits / core / models / enrollment.py EnrollmentFlow.uses_api_verification   100% 1 0 0   100% 0 0   100%
benefits / core / models / enrollment.py EnrollmentFlow.claims_scheme   67% 3 1 0   50% 2 1   60%
benefits / core / models / enrollment.py EnrollmentFlow.eligibility_verifier   100% 5 0 0   100% 4 0   100%
benefits / core / models / enrollment.py EnrollmentFlow.enrollment_index_context   100% 2 0 0   100% 0 0   100%
benefits / core / models / enrollment.py EnrollmentFlow.in_person_eligibility_context   100% 1 0 0   100% 0 0   100%
benefits / core / models / enrollment.py EnrollmentFlow.help_context   0% 2 2 0   100% 0 0   0%
benefits / core / models / enrollment.py EnrollmentFlow.supports_sign_out   100% 1 0 0   100% 0 0   100%
benefits / core / models / enrollment.py EnrollmentFlow.clean   100% 17 0 0   86% 14 2   94%
benefits / core / models / enrollment.py EnrollmentFlow.by_id   100% 2 0 0   100% 0 0   100%
benefits / core / models / enrollment.py EnrollmentGroup.__str__   0% 1 1 0   100% 0 0   0%
benefits / core / models / enrollment.py EnrollmentEvent.__str__   100% 3 0 0   100% 0 0   100%
benefits / core / models / enrollment.py (no function)   100% 99 0 0   100% 0 0   100%
benefits / core / models / transit.py agency_logo   100% 2 0 0   100% 0 0   100%
benefits / core / models / transit.py TransitProcessorConfig.__str__   100% 3 0 0   100% 0 0   100%
benefits / core / models / transit.py EligibilityApiConfig.__str__   0% 1 1 0   100% 0 0   0%
benefits / core / models / transit.py TransitAgency.__str__   100% 1 0 0   100% 0 0   100%
benefits / core / models / transit.py TransitAgency.index_context   100% 1 0 0   100% 0 0   100%
benefits / core / models / transit.py TransitAgency.index_url   100% 1 0 0   100% 0 0   100%
benefits / core / models / transit.py TransitAgency.eligibility_index_url   100% 1 0 0   100% 0 0   100%
benefits / core / models / transit.py TransitAgency.eligibility_api_private_key_data   67% 3 1 0   50% 2 1   60%
benefits / core / models / transit.py TransitAgency.eligibility_api_public_key_data   67% 3 1 0   50% 2 1   60%
benefits / core / models / transit.py TransitAgency.littlepay_config   100% 3 0 0   100% 2 0   100%
benefits / core / models / transit.py TransitAgency.switchio_config   100% 3 0 0   100% 2 0   100%
benefits / core / models / transit.py TransitAgency.transit_processor   100% 5 0 0   100% 4 0   100%
benefits / core / models / transit.py TransitAgency.in_person_enrollment_index_route   100% 5 0 0   100% 4 0   100%
benefits / core / models / transit.py TransitAgency.enrollment_index_route   100% 5 0 0   100% 4 0   100%
benefits / core / models / transit.py TransitAgency.enrollment_flows   100% 1 0 0   100% 0 0   100%
benefits / core / models / transit.py TransitAgency.customer_service_group_name   100% 1 0 0   100% 0 0   100%
benefits / core / models / transit.py TransitAgency.clean   100% 33 0 0   94% 18 1   98%
benefits / core / models / transit.py TransitAgency.by_id   100% 2 0 0   100% 0 0   100%
benefits / core / models / transit.py TransitAgency.by_slug   100% 2 0 0   100% 0 0   100%
benefits / core / models / transit.py TransitAgency.all_active   100% 2 0 0   100% 0 0   100%
benefits / core / models / transit.py TransitAgency.for_user   100% 4 0 0   100% 4 0   100%
benefits / core / models / transit.py (no function)   100% 79 0 0   100% 0 0   100%
benefits / core / recaptcha.py has_error   100% 1 0 0   100% 0 0   100%
benefits / core / recaptcha.py verify   29% 7 5 0   25% 4 1   27%
benefits / core / recaptcha.py (no function)   100% 5 0 0   100% 0 0   100%
benefits / core / session.py agency   100% 4 0 0   100% 0 0   100%
benefits / core / session.py active_agency   100% 2 0 0   100% 0 0   100%
benefits / core / session.py context_dict   0% 3 3 0   100% 0 0   0%
benefits / core / session.py debug   100% 1 0 0   100% 0 0   100%
benefits / core / session.py did   100% 5 0 0   100% 2 0   100%
benefits / core / session.py eligible   100% 1 0 0   100% 0 0   100%
benefits / core / session.py enrollment_expiry   100% 4 0 0   100% 2 0   100%
benefits / core / session.py enrollment_reenrollment   100% 5 0 0   100% 2 0   100%
benefits / core / session.py language   100% 1 0 0   100% 0 0   100%
benefits / core / session.py logged_in   100% 1 0 0   100% 0 0   100%
benefits / core / session.py logout   100% 4 0 0   100% 0 0   100%
benefits / core / session.py oauth_extra_claims   100% 8 0 0   100% 4 0   100%
benefits / core / session.py origin   100% 1 0 0   100% 0 0   100%
benefits / core / session.py reset   100% 16 0 0   100% 2 0   100%
benefits / core / session.py start   100% 5 0 0   100% 2 0   100%
benefits / core / session.py uid   100% 5 0 0   100% 2 0   100%
benefits / core / session.py update   100% 19 0 0   100% 16 0   100%
benefits / core / session.py flow   100% 4 0 0   100% 0 0   100%
benefits / core / session.py (no function)   100% 42 0 0   100% 0 0   100%
benefits / core / urls.py TransitAgencyPathConverter.to_python   75% 8 2 0   50% 2 1   70%
benefits / core / urls.py TransitAgencyPathConverter.to_url   100% 4 0 0   100% 0 0   100%
benefits / core / urls.py (no function)   100% 13 0 0   100% 0 0   100%
benefits / core / views.py IndexView.form_valid   100% 2 0 0   100% 0 0   100%
benefits / core / views.py IndexView.get   100% 2 0 0   100% 0 0   100%
benefits / core / views.py AgencyIndexView.get   100% 4 0 0   100% 0 0   100%
benefits / core / views.py AgencyIndexView.get_context_data   100% 4 0 0   100% 0 0   100%
benefits / core / views.py AgencyCardView.get   100% 8 0 0   100% 2 0   100%
benefits / core / views.py AgencyEligibilityIndexView.get   100% 4 0 0   100% 0 0   100%
benefits / core / views.py AgencyPublicKeyView.get   100% 2 0 0   100% 0 0   100%
benefits / core / views.py HelpView.get   0% 1 1 0   100% 0 0   0%
benefits / core / views.py HelpView.get_context_data   0% 5 5 0   0% 2 0   0%
benefits / core / views.py bad_request   100% 2 0 0   100% 0 0   100%
benefits / core / views.py csrf_failure   100% 2 0 0   100% 0 0   100%
benefits / core / views.py page_not_found   100% 2 0 0   100% 0 0   100%
benefits / core / views.py server_error   100% 2 0 0   100% 0 0   100%
benefits / core / views.py (no function)   100% 53 0 0   100% 0 0   100%
benefits / core / widgets.py FormControlTextInput.__init__   83% 6 1 0   50% 4 2   70%
benefits / core / widgets.py FlowRadioSelect.__init__   100% 2 0 0   100% 0 0   100%
benefits / core / widgets.py FlowRadioSelect.__deepcopy__   100% 3 0 0   100% 0 0   100%
benefits / core / widgets.py FlowRadioSelect.create_option   0% 4 4 0   0% 2 0   0%
benefits / core / widgets.py (no function)   100% 10 0 0   100% 0 0   100%
benefits / eligibility / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
benefits / eligibility / analytics.py EligibilityEvent.__init__   100% 2 0 0   100% 0 0   100%
benefits / eligibility / analytics.py SelectedFlowEvent.__init__   0% 1 1 0   100% 0 0   0%
benefits / eligibility / analytics.py StartedEligibilityEvent.__init__   100% 1 0 0   100% 0 0   100%
benefits / eligibility / analytics.py ReturnedEligibilityEvent.__init__   100% 4 0 0   50% 2 1   83%
benefits / eligibility / analytics.py selected_flow   0% 1 1 0   100% 0 0   0%
benefits / eligibility / analytics.py started_eligibility   100% 1 0 0   100% 0 0   100%
benefits / eligibility / analytics.py returned_error   0% 1 1 0   100% 0 0   0%
benefits / eligibility / analytics.py returned_fail   100% 1 0 0   100% 0 0   100%
benefits / eligibility / analytics.py returned_success   100% 1 0 0   100% 0 0   100%
benefits / eligibility / analytics.py (no function)   100% 14 0 0   100% 0 0   100%
benefits / eligibility / apps.py (no function)   100% 5 0 0   100% 0 0   100%
benefits / eligibility / context / __init__.py (no function)   100% 2 0 0   100% 0 0   100%
benefits / eligibility / context / flow.py EligibilityStart.dict   100% 1 0 0   100% 0 0   100%
benefits / eligibility / context / flow.py LoginGovEligibilityStart.__init__   100% 1 0 0   100% 0 0   100%
benefits / eligibility / context / flow.py AgencyCardEligibilityStart.__init__   100% 1 0 0   100% 0 0   100%
benefits / eligibility / context / flow.py EligibilityUnverified.dict   100% 1 0 0   100% 0 0   100%
benefits / eligibility / context / flow.py AgencyCardEligibilityUnverified.__init__   100% 1 0 0   100% 0 0   100%
benefits / eligibility / context / flow.py (no function)   100% 32 0 0   100% 0 0   100%
benefits / eligibility / forms.py EnrollmentFlowSelectionForm.__init__   100% 7 0 0   100% 0 0   100%
benefits / eligibility / forms.py EligibilityVerificationForm.__init__   100% 23 0 0   50% 12 6   83%
benefits / eligibility / forms.py CSTAgencyCard.__init__   100% 1 0 0   100% 0 0   100%
benefits / eligibility / forms.py MSTCourtesyCard.__init__   100% 1 0 0   100% 0 0   100%
benefits / eligibility / forms.py SBMTDMobilityPass.__init__   100% 1 0 0   100% 0 0   100%
benefits / eligibility / forms.py (no function)   100% 27 0 0   100% 0 0   100%
benefits / eligibility / urls.py (no function)   100% 5 0 0   100% 0 0   100%
benefits / eligibility / verify.py eligibility_from_api   100% 8 0 0   100% 4 0   100%
benefits / eligibility / verify.py (no function)   100% 4 0 0   100% 0 0   100%
benefits / eligibility / views.py EligibilityIndex.__init__   100% 3 0 0   50% 2 1   80%
benefits / eligibility / views.py EligibilityIndex.dict   100% 1 0 0   100% 0 0   100%
benefits / eligibility / views.py IndexView.get_form_kwargs   100% 3 0 0   100% 0 0   100%
benefits / eligibility / views.py IndexView.get_context_data   100% 4 0 0   100% 0 0   100%
benefits / eligibility / views.py IndexView.get   100% 3 0 0   100% 0 0   100%
benefits / eligibility / views.py IndexView.form_valid   100% 5 0 0   100% 0 0   100%
benefits / eligibility / views.py IndexView.form_invalid   0% 3 3 0   0% 2 0   0%
benefits / eligibility / views.py StartView.get   100% 2 0 0   100% 0 0   100%
benefits / eligibility / views.py StartView.get_context_data   100% 3 0 0   100% 0 0   100%
benefits / eligibility / views.py ConfirmView.get_form_class   100% 10 0 0   100% 6 0   100%
benefits / eligibility / views.py ConfirmView.get   100% 4 0 0   100% 2 0   100%
benefits / eligibility / views.py ConfirmView.post   100% 2 0 0   100% 0 0   100%
benefits / eligibility / views.py ConfirmView.form_valid   100% 12 0 0   100% 4 0   100%
benefits / eligibility / views.py ConfirmView.form_invalid   100% 3 0 0   100% 2 0   100%
benefits / eligibility / views.py UnverifiedView.get_context_data   100% 3 0 0   100% 0 0   100%
benefits / eligibility / views.py UnverifiedView.get   100% 2 0 0   100% 0 0   100%
benefits / eligibility / views.py (no function)   100% 38 0 0   100% 0 0   100%
benefits / enrollment / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
benefits / enrollment / analytics.py ReturnedEnrollmentEvent.__init__   92% 13 1 0   80% 10 2   87%
benefits / enrollment / analytics.py FailedPretokenizationRequestEvent.__init__   100% 4 0 0   100% 2 0   100%
benefits / enrollment / analytics.py returned_error   0% 1 1 0   100% 0 0   0%
benefits / enrollment / analytics.py returned_retry   0% 1 1 0   100% 0 0   0%
benefits / enrollment / analytics.py returned_success   100% 1 0 0   100% 0 0   100%
benefits / enrollment / analytics.py failed_pretokenization_request   100% 1 0 0   100% 0 0   100%
benefits / enrollment / analytics.py (no function)   100% 9 0 0   100% 0 0   100%
benefits / enrollment / apps.py (no function)   100% 5 0 0   100% 0 0   100%
benefits / enrollment / context / __init__.py (no function)   100% 2 0 0   100% 0 0   100%
benefits / enrollment / context / flow.py EnrollmentIndex.dict   100% 1 0 0   100% 0 0   100%
benefits / enrollment / context / flow.py DefaultEnrollmentIndex.__init__   100% 1 0 0   100% 0 0   100%
benefits / enrollment / context / flow.py AgencyCardEnrollmentIndex.__init__   100% 1 0 0   100% 0 0   100%
benefits / enrollment / context / flow.py CalFreshEnrollmentIndex.__init__   100% 1 0 0   100% 0 0   100%
benefits / enrollment / context / flow.py (no function)   100% 17 0 0   100% 0 0   100%
benefits / enrollment / enrollment.py _is_expired   100% 1 0 0   100% 0 0   100%
benefits / enrollment / enrollment.py _is_within_reenrollment_window   100% 1 0 0   100% 0 0   100%
benefits / enrollment / enrollment.py _calculate_expiry   100% 4 0 0   100% 0 0   100%
benefits / enrollment / enrollment.py handle_enrollment_results   96% 24 1 0   80% 10 2   91%
benefits / enrollment / enrollment.py (no function)   100% 17 0 0   100% 0 0   100%
benefits / enrollment / forms.py CardTokenizeSuccessForm.__init__   100% 2 0 0   100% 0 0   100%
benefits / enrollment / forms.py CardTokenizeFailForm.__init__   100% 3 0 0   100% 0 0   100%
benefits / enrollment / forms.py (no function)   100% 9 0 0   100% 0 0   100%
benefits / enrollment / urls.py (no function)   100% 5 0 0   100% 0 0   100%
benefits / enrollment / views.py IndexView.get_redirect_url   100% 2 0 0   100% 0 0   100%
benefits / enrollment / views.py IndexView.get   100% 2 0 0   100% 0 0   100%
benefits / enrollment / views.py ReenrollmentErrorView.get_context_data   100% 11 0 0   100% 2 0   100%
benefits / enrollment / views.py ReenrollmentErrorView.get   100% 4 0 0   100% 2 0   100%
benefits / enrollment / views.py RetryView.dispatch   100% 7 0 0   100% 2 0   100%
benefits / enrollment / views.py SystemErrorView.get_origin_url   100% 1 0 0   100% 0 0   100%
benefits / enrollment / views.py SystemErrorView.get   100% 3 0 0   100% 0 0   100%
benefits / enrollment / views.py SystemErrorView.post   100% 1 0 0   100% 0 0   100%
benefits / enrollment / views.py EnrollmentSuccess.dict   100% 1 0 0   100% 0 0   100%
benefits / enrollment / views.py DefaultEnrollmentSuccess.__init__   100% 1 0 0   100% 0 0   100%
benefits / enrollment / views.py AgencyCardEnrollmentSuccess.__init__   100% 1 0 0   100% 0 0   100%
benefits / enrollment / views.py SuccessView.get_context_data   90% 10 1 0   50% 2 1   83%
benefits / enrollment / views.py SuccessView.get   100% 5 0 0   100% 2 0   100%
benefits / enrollment / views.py (no function)   100% 43 0 0   100% 0 0   100%
benefits / enrollment_littlepay / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
benefits / enrollment_littlepay / admin.py (no function)   100% 9 0 0   100% 0 0   100%
benefits / enrollment_littlepay / apps.py (no function)   100% 4 0 0   100% 0 0   100%
benefits / enrollment_littlepay / enrollment.py request_card_tokenization_access   100% 16 0 0   100% 4 0   100%
benefits / enrollment_littlepay / enrollment.py enroll   100% 44 0 0   100% 18 0   100%
benefits / enrollment_littlepay / enrollment.py _get_group_funding_source   100% 7 0 0   75% 4 1   91%
benefits / enrollment_littlepay / enrollment.py (no function)   100% 16 0 0   100% 0 0   100%
benefits / enrollment_littlepay / migrations / 0001_initial.py (no function)   100% 7 0 0   100% 0 0   100%
benefits / enrollment_littlepay / migrations / 0002_littlepaygroup.py migrate_littlepay_group_ids   27% 11 8 0   25% 4 1   27%
benefits / enrollment_littlepay / migrations / 0002_littlepaygroup.py (no function)   100% 7 0 0   100% 0 0   100%
benefits / enrollment_littlepay / migrations / 0003_rename_littlepayconfig_oldlittlepayconfig.py (no function)   100% 4 0 0   100% 0 0   100%
benefits / enrollment_littlepay / migrations / 0004_littlepayconfig.py migrate_littlepay_config   43% 7 4 0   25% 4 1   36%
benefits / enrollment_littlepay / migrations / 0004_littlepayconfig.py (no function)   100% 8 0 0   100% 0 0   100%
benefits / enrollment_littlepay / migrations / 0005_delete_oldlittlepayconfig.py (no function)   100% 4 0 0   100% 0 0   100%
benefits / enrollment_littlepay / migrations / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
benefits / enrollment_littlepay / models.py LittlepayConfig.api_base_url   100% 5 0 0   100% 4 0   100%
benefits / enrollment_littlepay / models.py LittlepayConfig.client_secret   100% 2 0 0   100% 0 0   100%
benefits / enrollment_littlepay / models.py LittlepayConfig.clean   100% 7 0 0   100% 4 0   100%
benefits / enrollment_littlepay / models.py (no function)   100% 15 0 0   100% 0 0   100%
benefits / enrollment_littlepay / session.py Session.__init__   100% 9 0 0   100% 6 0   100%
benefits / enrollment_littlepay / session.py Session.access_token   100% 1 0 0   100% 0 0   100%
benefits / enrollment_littlepay / session.py Session.access_token   100% 1 0 0   100% 0 0   100%
benefits / enrollment_littlepay / session.py Session.access_token_expiry   100% 1 0 0   100% 0 0   100%
benefits / enrollment_littlepay / session.py Session.access_token_expiry   100% 1 0 0   100% 0 0   100%
benefits / enrollment_littlepay / session.py Session.access_token_valid   100% 5 0 0   100% 2 0   100%
benefits / enrollment_littlepay / session.py (no function)   100% 17 0 0   100% 0 0   100%
benefits / enrollment_littlepay / urls.py (no function)   100% 5 0 0   100% 0 0   100%
benefits / enrollment_littlepay / views.py TokenView.get   100% 17 0 0   88% 8 1   96%
benefits / enrollment_littlepay / views.py IndexView.get_context_data   77% 22 5 0   25% 4 1   69%
benefits / enrollment_littlepay / views.py IndexView._get_overlay_language   100% 2 0 0   100% 0 0   100%
benefits / enrollment_littlepay / views.py IndexView._get_verified_by   100% 1 0 0   100% 0 0   100%
benefits / enrollment_littlepay / views.py IndexView.form_valid   100% 3 0 0   100% 0 0   100%
benefits / enrollment_littlepay / views.py IndexView.form_invalid   100% 1 0 0   100% 0 0   100%
benefits / enrollment_littlepay / views.py (no function)   100% 34 0 0   100% 0 0   100%
benefits / enrollment_switchio / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
benefits / enrollment_switchio / admin.py (no function)   100% 9 0 0   100% 0 0   100%
benefits / enrollment_switchio / api.py Client.__init__   100% 3 0 0   100% 0 0   100%
benefits / enrollment_switchio / api.py Client._cert_request   100% 8 0 0   100% 0 0   100%
benefits / enrollment_switchio / api.py TokenizationClient.__init__   100% 4 0 0   100% 0 0   100%
benefits / enrollment_switchio / api.py TokenizationClient._signature_input_string   100% 3 0 0   100% 2 0   100%
benefits / enrollment_switchio / api.py TokenizationClient._stp_signature   100% 5 0 0   100% 0 0   100%
benefits / enrollment_switchio / api.py TokenizationClient._get_headers   100% 2 0 0   100% 0 0   100%
benefits / enrollment_switchio / api.py TokenizationClient.request_registration   100% 5 0 0   100% 0 0   100%
benefits / enrollment_switchio / api.py TokenizationClient.get_registration_status   100% 4 0 0   100% 0 0   100%
benefits / enrollment_switchio / api.py GroupExpiry.__post_init__   100% 3 0 0   100% 2 0   100%
benefits / enrollment_switchio / api.py EnrollmentClient.__init__   100% 3 0 0   100% 0 0   100%
benefits / enrollment_switchio / api.py EnrollmentClient._format_expiry   83% 6 1 0   75% 4 1   80%
benefits / enrollment_switchio / api.py EnrollmentClient._get_headers   100% 1 0 0   100% 0 0   100%
benefits / enrollment_switchio / api.py EnrollmentClient.healthcheck   100% 4 0 0   100% 0 0   100%
benefits / enrollment_switchio / api.py EnrollmentClient.get_groups   100% 4 0 0   100% 0 0   100%
benefits / enrollment_switchio / api.py EnrollmentClient.get_groups_for_token   100% 4 0 0   100% 0 0   100%
benefits / enrollment_switchio / api.py EnrollmentClient.add_group_to_token   100% 7 0 0   100% 2 0   100%
benefits / enrollment_switchio / api.py EnrollmentClient.remove_group_from_token   100% 5 0 0   100% 0 0   100%
benefits / enrollment_switchio / api.py (no function)   100% 61 0 0   100% 0 0   100%
benefits / enrollment_switchio / apps.py (no function)   100% 4 0 0   100% 0 0   100%
benefits / enrollment_switchio / enrollment.py request_registration   100% 16 0 0   100% 4 0   100%
benefits / enrollment_switchio / enrollment.py _generate_redirect_uri   100% 4 0 0   50% 2 1   83%
benefits / enrollment_switchio / enrollment.py get_registration_status   100% 14 0 0   100% 4 0   100%
benefits / enrollment_switchio / enrollment.py get_latest_active_token_value   100% 7 0 0   83% 6 1   92%
benefits / enrollment_switchio / enrollment.py enroll   100% 40 0 0   100% 16 0   100%
benefits / enrollment_switchio / enrollment.py _get_group_for_token   100% 5 0 0   75% 4 1   89%
benefits / enrollment_switchio / enrollment.py (no function)   100% 39 0 0   100% 0 0   100%
benefits / enrollment_switchio / migrations / 0001_initial.py (no function)   100% 8 0 0   100% 0 0   100%
benefits / enrollment_switchio / migrations / 0002_switchioconfig_enrollment_api.py (no function)   100% 6 0 0   100% 0 0   100%
benefits / enrollment_switchio / migrations / 0003_switchiogroup.py (no function)   100% 5 0 0   100% 0 0   100%
benefits / enrollment_switchio / migrations / 0004_rename_switchioconfig_oldswitchioconfig.py (no function)   100% 4 0 0   100% 0 0   100%
benefits / enrollment_switchio / migrations / 0005_switchioconfig_delete_oldswitchioconfig.py (no function)   100% 7 0 0   100% 0 0   100%
benefits / enrollment_switchio / migrations / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
benefits / enrollment_switchio / models.py SwitchioConfig.tokenization_api_base_url   100% 5 0 0   100% 4 0   100%
benefits / enrollment_switchio / models.py SwitchioConfig.enrollment_api_base_url   100% 5 0 0   100% 4 0   100%
benefits / enrollment_switchio / models.py SwitchioConfig.tokenization_api_secret   100% 2 0 0   100% 0 0   100%
benefits / enrollment_switchio / models.py SwitchioConfig.client_certificate_data   100% 1 0 0   100% 0 0   100%
benefits / enrollment_switchio / models.py SwitchioConfig.ca_certificate_data   100% 1 0 0   100% 0 0   100%
benefits / enrollment_switchio / models.py SwitchioConfig.private_key_data   100% 1 0 0   100% 0 0   100%
benefits / enrollment_switchio / models.py SwitchioConfig.clean   100% 7 0 0   100% 4 0   100%
benefits / enrollment_switchio / models.py (no function)   100% 27 0 0   100% 0 0   100%
benefits / enrollment_switchio / session.py Session.__init__   100% 9 0 0   100% 6 0   100%
benefits / enrollment_switchio / session.py Session.registration_id   100% 1 0 0   100% 0 0   100%
benefits / enrollment_switchio / session.py Session.registration_id   100% 1 0 0   100% 0 0   100%
benefits / enrollment_switchio / session.py Session.gateway_url   100% 1 0 0   100% 0 0   100%
benefits / enrollment_switchio / session.py Session.gateway_url   100% 1 0 0   100% 0 0   100%
benefits / enrollment_switchio / session.py (no function)   100% 15 0 0   100% 0 0   100%
benefits / enrollment_switchio / urls.py (no function)   100% 5 0 0   100% 0 0   100%
benefits / enrollment_switchio / views.py IndexView.get_context_data   100% 7 0 0   100% 0 0   100%
benefits / enrollment_switchio / views.py IndexView._get_locale   100% 2 0 0   100% 0 0   100%
benefits / enrollment_switchio / views.py IndexView._get_verified_by   100% 1 0 0   100% 0 0   100%
benefits / enrollment_switchio / views.py IndexView.get   100% 21 0 0   86% 14 2   94%
benefits / enrollment_switchio / views.py IndexView.form_valid   100% 5 0 0   100% 0 0   100%
benefits / enrollment_switchio / views.py GatewayUrlView.get   100% 17 0 0   100% 8 0   100%
benefits / enrollment_switchio / views.py GatewayUrlView._request_registration   100% 14 0 0   100% 4 0   100%
benefits / enrollment_switchio / views.py GatewayUrlView._gateway_url_response   100% 2 0 0   100% 0 0   100%
benefits / enrollment_switchio / views.py (no function)   100% 38 0 0   100% 0 0   100%
benefits / in_person / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
benefits / in_person / apps.py (no function)   100% 4 0 0   100% 0 0   100%
benefits / in_person / context / __init__.py (no function)   100% 2 0 0   100% 0 0   100%
benefits / in_person / context / eligibility.py EligibilityIndex.dict   100% 1 0 0   100% 0 0   100%
benefits / in_person / context / eligibility.py (no function)   100% 7 0 0   100% 0 0   100%
benefits / in_person / forms.py InPersonEligibilityForm.__init__   100% 13 0 0   100% 2 0   100%
benefits / in_person / forms.py InPersonEligibilityForm.get_policy_details   100% 5 0 0   100% 0 0   100%
benefits / in_person / forms.py InPersonEligibilityForm.clean   0% 9 9 0   0% 4 0   0%
benefits / in_person / forms.py (no function)   100% 15 0 0   100% 0 0   100%
benefits / in_person / mixins.py CommonContextMixin.get_context_data   100% 3 0 0   100% 0 0   100%
benefits / in_person / mixins.py (no function)   100% 4 0 0   100% 0 0   100%
benefits / in_person / urls.py (no function)   100% 6 0 0   100% 0 0   100%
benefits / in_person / views.py EligibilityView.dispatch   100% 8 0 0   100% 2 0   100%
benefits / in_person / views.py EligibilityView.get_form_kwargs   100% 3 0 0   100% 0 0   100%
benefits / in_person / views.py EligibilityView.form_valid   100% 7 0 0   100% 0 0   100%
benefits / in_person / views.py EnrollmentView.get_redirect_url   100% 2 0 0   100% 0 0   100%
benefits / in_person / views.py LittlepayEnrollmentView._get_verified_by   100% 1 0 0   100% 0 0   100%
benefits / in_person / views.py ReenrollmentErrorView.get_context_data   100% 3 0 0   100% 0 0   100%
benefits / in_person / views.py SystemErrorView.get_origin_url   100% 1 0 0   100% 0 0   100%
benefits / in_person / views.py ServerErrorView.post   100% 1 0 0   100% 0 0   100%
benefits / in_person / views.py SwitchioEnrollmentIndexView._get_verified_by   100% 1 0 0   100% 0 0   100%
benefits / in_person / views.py SwitchioEnrollmentIndexView.get_context_data   100% 6 0 0   100% 2 0   100%
benefits / in_person / views.py SwitchioEnrollmentIndexView.get   67% 3 1 0   50% 2 1   60%
benefits / in_person / views.py (no function)   100% 71 0 0   100% 0 0   100%
benefits / locale / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
benefits / locale / en / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
benefits / locale / en / formats.py (no function)   100% 1 0 0   100% 0 0   100%
benefits / locale / es / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
benefits / locale / es / formats.py (no function)   100% 1 0 0   100% 0 0   100%
benefits / oauth / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
benefits / oauth / analytics.py OAuthEvent.__init__   100% 4 0 0   100% 2 0   100%
benefits / oauth / analytics.py OAuthErrorEvent.__init__   100% 2 0 0   100% 0 0   100%
benefits / oauth / analytics.py StartedSignInEvent.__init__   0% 1 1 0   100% 0 0   0%
benefits / oauth / analytics.py CanceledSignInEvent.__init__   0% 1 1 0   100% 0 0   0%
benefits / oauth / analytics.py FinishedSignInEvent.__init__   100% 3 0 0   100% 2 0   100%
benefits / oauth / analytics.py StartedSignOutEvent.__init__   0% 1 1 0   100% 0 0   0%
benefits / oauth / analytics.py FinishedSignOutEvent.__init__   0% 2 2 0   100% 0 0   0%
benefits / oauth / analytics.py error   0% 1 1 0   100% 0 0   0%
benefits / oauth / analytics.py started_sign_in   0% 1 1 0   100% 0 0   0%
benefits / oauth / analytics.py canceled_sign_in   0% 1 1 0   100% 0 0   0%
benefits / oauth / analytics.py finished_sign_in   0% 1 1 0   100% 0 0   0%
benefits / oauth / analytics.py started_sign_out   0% 1 1 0   100% 0 0   0%
benefits / oauth / analytics.py finished_sign_out   0% 1 1 0   100% 0 0   0%
benefits / oauth / analytics.py (no function)   100% 21 0 0   100% 0 0   100%
benefits / oauth / apps.py (no function)   100% 5 0 0   100% 0 0   100%
benefits / oauth / hooks.py OAuthHooks.pre_login   100% 2 0 0   100% 0 0   100%
benefits / oauth / hooks.py OAuthHooks.cancel_login   100% 3 0 0   100% 0 0   100%
benefits / oauth / hooks.py OAuthHooks.pre_logout   100% 3 0 0   100% 0 0   100%
benefits / oauth / hooks.py OAuthHooks.post_logout   100% 4 0 0   100% 0 0   100%
benefits / oauth / hooks.py OAuthHooks.claims_verified_eligible   100% 8 0 0   100% 0 0   100%
benefits / oauth / hooks.py OAuthHooks.claims_verified_not_eligible   100% 6 0 0   100% 0 0   100%
benefits / oauth / hooks.py OAuthHooks.system_error   100% 4 0 0   100% 0 0   100%
benefits / oauth / hooks.py (no function)   100% 26 0 0   100% 0 0   100%
benefits / oauth / middleware.py FlowUsesClaimsVerificationSessionRequired.process_request   100% 13 0 0   100% 6 0   100%
benefits / oauth / middleware.py (no function)   100% 10 0 0   100% 0 0   100%
benefits / oauth / urls.py (no function)   100% 12 0 0   100% 0 0   100%
benefits / oauth / views.py SystemErrorView.get   100% 2 0 0   100% 0 0   100%
benefits / oauth / views.py (no function)   100% 6 0 0   100% 0 0   100%
benefits / routes.py Routes.INDEX   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.HELP   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.LOGGED_OUT   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.SERVER_ERROR   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.AGENCY_INDEX   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.AGENCY_CARD   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.AGENCY_ELIGIBILITY_INDEX   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.AGENCY_PUBLIC_KEY   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.OAUTH_LOGIN   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.OAUTH_LOGOUT   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.OAUTH_SYSTEM_ERROR   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.ELIGIBILITY_INDEX   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.ELIGIBILITY_START   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.ELIGIBILITY_CONFIRM   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.ELIGIBILITY_UNVERIFIED   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.ENROLLMENT_INDEX   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.ENROLLMENT_LITTLEPAY_INDEX   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.ENROLLMENT_LITTLEPAY_TOKEN   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.ENROLLMENT_SWITCHIO_INDEX   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.ENROLLMENT_SWITCHIO_GATEWAY_URL   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.ENROLLMENT_SUCCESS   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.ENROLLMENT_RETRY   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.ENROLLMENT_REENROLLMENT_ERROR   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.ENROLLMENT_SYSTEM_ERROR   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.ADMIN_INDEX   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.IN_PERSON_ELIGIBILITY   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.IN_PERSON_ENROLLMENT   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.IN_PERSON_ENROLLMENT_LITTLEPAY_INDEX   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.IN_PERSON_ENROLLMENT_SWITCHIO_INDEX   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.IN_PERSON_ENROLLMENT_LITTLEPAY_TOKEN   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.IN_PERSON_ENROLLMENT_SWITCHIO_GATEWAY_URL   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.IN_PERSON_SERVER_ERROR   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.IN_PERSON_ENROLLMENT_RETRY   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.IN_PERSON_ENROLLMENT_REENROLLMENT_ERROR   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.IN_PERSON_ENROLLMENT_SUCCESS   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.IN_PERSON_ENROLLMENT_SYSTEM_ERROR   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.to_dict   100% 1 0 0   100% 0 0   100%
benefits / routes.py Routes.name   100% 1 0 0   100% 0 0   100%
benefits / routes.py (no function)   100% 78 0 0   100% 0 0   100%
benefits / secrets.py SecretNameValidator.__init__   100% 3 0 0   100% 0 0   100%
benefits / secrets.py get_secret_by_name   100% 21 0 0   100% 6 0   100%
benefits / secrets.py (no function)   67% 24 8 0   25% 4 1   61%
benefits / sentry.py git_available   0% 1 1 0   100% 0 0   0%
benefits / sentry.py is_git_directory   0% 2 2 0   100% 0 0   0%
benefits / sentry.py get_git_revision_hash   0% 1 1 0   100% 0 0   0%
benefits / sentry.py get_sha_file_path   0% 2 2 0   100% 0 0   0%
benefits / sentry.py get_sha_from_file   100% 5 0 0   100% 2 0   100%
benefits / sentry.py get_release   100% 6 0 0   100% 4 0   100%
benefits / sentry.py get_denylist   0% 2 2 0   100% 0 0   0%
benefits / sentry.py get_traces_sample_rate   100% 10 0 0   100% 2 0   100%
benefits / sentry.py configure   50% 8 4 0   50% 2 1   50%
benefits / sentry.py (no function)   100% 20 0 0   100% 0 0   100%
benefits / settings.py _filter_empty   100% 1 0 0   100% 0 0   100%
benefits / settings.py RUNTIME_ENVIRONMENT   100% 8 0 0   100% 6 0   100%
benefits / settings.py (no function)   93% 120 8 0   50% 18 9   88%
benefits / urls.py trigger_error   0% 1 1 0   100% 0 0   0%
benefits / urls.py test_secret   0% 2 2 0   100% 0 0   0%
benefits / urls.py (no function)   85% 27 4 0   50% 4 2   81%
benefits / wsgi.py (no function)   0% 4 4 0   100% 0 0   0%
Total     95% 3242 169 0   81% 538 65   93%

No items found using the specified filter.