diff --git a/app/services/analytics_events.rb b/app/services/analytics_events.rb index 8db2741e1f5..6cdd25ce73f 100644 --- a/app/services/analytics_events.rb +++ b/app/services/analytics_events.rb @@ -3310,6 +3310,11 @@ def idv_in_person_usps_proofing_enrollment_code_email_received( # @param [Integer] enrollments_failed number of enrollments which failed identity proofing # @param [Integer] enrollments_in_progress number of enrollments which did not have any change # @param [Integer] enrollments_passed number of enrollments which passed identity proofing + # @param [Integer] enrollments_network_error + # @param [Integer] enrollments_cancelled + # @param [Float] percent_enrollments_errored + # @param [Float] percent_enrollments_network_error + # @param [String] job_name def idv_in_person_usps_proofing_results_job_completed( duration_seconds:, enrollments_checked:, @@ -3318,17 +3323,27 @@ def idv_in_person_usps_proofing_results_job_completed( enrollments_failed:, enrollments_in_progress:, enrollments_passed:, + enrollments_network_error:, + enrollments_cancelled:, + percent_enrollments_errored:, + percent_enrollments_network_error:, + job_name:, **extra ) track_event( 'GetUspsProofingResultsJob: Job completed', - duration_seconds: duration_seconds, - enrollments_checked: enrollments_checked, - enrollments_errored: enrollments_errored, - enrollments_expired: enrollments_expired, - enrollments_failed: enrollments_failed, - enrollments_in_progress: enrollments_in_progress, - enrollments_passed: enrollments_passed, + duration_seconds:, + enrollments_checked:, + enrollments_errored:, + enrollments_expired:, + enrollments_failed:, + enrollments_in_progress:, + enrollments_passed:, + enrollments_network_error:, + enrollments_cancelled:, + percent_enrollments_errored:, + percent_enrollments_network_error:, + job_name:, **extra, ) end @@ -3353,27 +3368,57 @@ def idv_in_person_usps_proofing_results_job_deadline_passed_email_exception( end # Tracks deadline email initiated during GetUspsProofingResultsJob + # @param [String] enrollment_code # @param [String] enrollment_id + # @param [Time] timestamp + # @param [String] service_provider + # @param [Integer] wait_until + # @param [String] job_name def idv_in_person_usps_proofing_results_job_deadline_passed_email_initiated( + enrollment_code:, enrollment_id:, + timestamp:, + service_provider:, + wait_until:, + job_name:, **extra ) track_event( 'GetUspsProofingResultsJob: deadline passed email initiated', - enrollment_id: enrollment_id, + enrollment_code:, + enrollment_id:, + timestamp:, + service_provider:, + wait_until:, + job_name:, **extra, ) end # Tracks emails that are initiated during GetUspsProofingResultsJob # @param [String] email_type success, failed or failed fraud + # @param [String] enrollment_code + # @param [Time] timestamp + # @param [String] service_provider + # @param [Integer] wait_until + # @param [String] job_name def idv_in_person_usps_proofing_results_job_email_initiated( email_type:, + enrollment_code:, + timestamp:, + service_provider:, + wait_until:, + job_name:, **extra ) track_event( 'GetUspsProofingResultsJob: Success or failure email initiated', - email_type: email_type, + email_type:, + enrollment_code:, + timestamp:, + service_provider:, + wait_until:, + job_name:, **extra, ) end @@ -3404,11 +3449,31 @@ def idv_in_person_usps_proofing_results_job_enrollment_incomplete( # @param [String] enrollment_code # @param [String] enrollment_id # @param [Float] minutes_since_established + # @param [Float] minutes_since_last_status_check + # @param [Float] minutes_since_last_status_check_completed + # @param [Float] minutes_since_last_status_update + # @param [Float] minutes_to_completion + # @param [Boolean] fraud_suspected + # @param [String] primary_id_type + # @param [String] secondary_id_type + # @param [String] failure_reason + # @param [String] transaction_end_date_time + # @param [String] transaction_start_date_time + # @param [String] status + # @param [String] assurance_level + # @param [String] proofing_post_office + # @param [String] proofing_city + # @param [String] proofing_state + # @param [String] scan_count + # @param [String] response_message # @param [Boolean] passed did this enrollment pass or fail? # @param [String] reason why did this enrollment pass or fail? # @param [String] tmx_status the tmx_status of the enrollment profile profile # @param [Integer] profile_age_in_seconds How many seconds have passed since profile created - # @param [Boolean] fraud_suspected + # @param [Boolean] response_present + # @param [String] job_name + # @param [Boolean] enhanced_ipp + # @param [String] issuer def idv_in_person_usps_proofing_results_job_enrollment_updated( enrollment_code:, enrollment_id:, @@ -3417,19 +3482,59 @@ def idv_in_person_usps_proofing_results_job_enrollment_updated( reason:, tmx_status:, profile_age_in_seconds:, + minutes_since_last_status_check:, + minutes_since_last_status_check_completed:, + minutes_since_last_status_update:, + minutes_to_completion:, + response_present:, + job_name:, + enhanced_ipp:, + issuer:, fraud_suspected: nil, + primary_id_type: nil, + secondary_id_type: nil, + failure_reason: nil, + transaction_end_date_time: nil, + transaction_start_date_time: nil, + status: nil, + assurance_level: nil, + proofing_post_office: nil, + proofing_city: nil, + proofing_state: nil, + scan_count: nil, + response_message: nil, **extra ) track_event( 'GetUspsProofingResultsJob: Enrollment status updated', - enrollment_code: enrollment_code, - enrollment_id: enrollment_id, - minutes_since_established: minutes_since_established, - passed: passed, - reason: reason, - tmx_status: tmx_status, - profile_age_in_seconds: profile_age_in_seconds, - fraud_suspected: fraud_suspected, + enrollment_code:, + enrollment_id:, + minutes_since_established:, + passed:, + reason:, + tmx_status:, + profile_age_in_seconds:, + minutes_since_last_status_check:, + minutes_since_last_status_check_completed:, + minutes_since_last_status_update:, + minutes_to_completion:, + fraud_suspected:, + primary_id_type:, + secondary_id_type:, + failure_reason:, + transaction_end_date_time:, + transaction_start_date_time:, + status:, + assurance_level:, + proofing_post_office:, + proofing_city:, + proofing_state:, + scan_count:, + response_present:, + response_message:, + job_name:, + enhanced_ipp:, + issuer:, **extra, ) end @@ -3442,6 +3547,7 @@ def idv_in_person_usps_proofing_results_job_enrollment_updated( # @param [String] enrollment_code # @param [Float] minutes_since_established # @param [Float] minutes_since_last_status_check + # @param [Float] minutes_since_last_status_check_completed # @param [Float] minutes_since_last_status_update # @param [Float] minutes_to_completion # @param [Boolean] fraud_suspected @@ -3456,8 +3562,11 @@ def idv_in_person_usps_proofing_results_job_enrollment_updated( # @param [String] proofing_city # @param [String] proofing_state # @param [String] scan_count + # @param [Boolean] response_present # @param [String] response_message # @param [Integer] response_status_code + # @param [String] job_name + # @param [String] issuer def idv_in_person_usps_proofing_results_job_exception( reason:, enrollment_id:, @@ -3466,6 +3575,7 @@ def idv_in_person_usps_proofing_results_job_exception( exception_message: nil, enrollment_code: nil, minutes_since_last_status_check: nil, + minutes_since_last_status_check_completed: nil, minutes_since_last_status_update: nil, minutes_to_completion: nil, fraud_suspected: nil, @@ -3480,45 +3590,67 @@ def idv_in_person_usps_proofing_results_job_exception( proofing_city: nil, proofing_state: nil, scan_count: nil, + response_present: nil, response_message: nil, response_status_code: nil, + job_name: nil, + issuer: nil, **extra ) track_event( 'GetUspsProofingResultsJob: Exception raised', - reason: reason, - enrollment_id: enrollment_id, - exception_class: exception_class, - exception_message: exception_message, - enrollment_code: enrollment_code, - minutes_since_established: minutes_since_established, - minutes_since_last_status_check: minutes_since_last_status_check, - minutes_since_last_status_update: minutes_since_last_status_update, - minutes_to_completion: minutes_to_completion, - fraud_suspected: fraud_suspected, - primary_id_type: primary_id_type, - secondary_id_type: secondary_id_type, - failure_reason: failure_reason, - transaction_end_date_time: transaction_end_date_time, - transaction_start_date_time: transaction_start_date_time, - status: status, - assurance_level: assurance_level, - proofing_post_office: proofing_post_office, - proofing_city: proofing_city, - proofing_state: proofing_state, - scan_count: scan_count, - response_message: response_message, - response_status_code: response_status_code, + reason:, + enrollment_id:, + exception_class:, + exception_message:, + enrollment_code:, + minutes_since_established:, + minutes_since_last_status_check:, + minutes_since_last_status_check_completed:, + minutes_since_last_status_update:, + minutes_to_completion:, + fraud_suspected:, + primary_id_type:, + secondary_id_type:, + failure_reason:, + transaction_end_date_time:, + transaction_start_date_time:, + status:, + assurance_level:, + proofing_post_office:, + proofing_city:, + proofing_state:, + scan_count:, + response_present:, + response_message:, + response_status_code:, + job_name:, + issuer:, **extra, ) end # Tracks please call emails that are initiated during GetUspsProofingResultsJob + # @param [String] enrollment_code + # @param [String] job_name + # @param [String] service_provider + # @param [Time] timestamp + # @param [Integer] wait_until def idv_in_person_usps_proofing_results_job_please_call_email_initiated( + enrollment_code:, + job_name:, + service_provider:, + timestamp:, + wait_until:, **extra ) track_event( :idv_in_person_usps_proofing_results_job_please_call_email_initiated, + enrollment_code:, + job_name:, + service_provider:, + timestamp:, + wait_until:, **extra, ) end @@ -3546,36 +3678,75 @@ def idv_in_person_usps_proofing_results_job_started( # @param [String] enrollment_code # @param [String] enrollment_id # @param [Float] minutes_since_established + # @param [Float] minutes_since_last_status_check + # @param [Float] minutes_since_last_status_check_completed + # @param [Float] minutes_since_last_status_update + # @param [Float] minutes_to_completion + # @param [String] issuer + # @param [String] job_name # @param [String] response_message # @param [String] reason why was this error unexpected? def idv_in_person_usps_proofing_results_job_unexpected_response( enrollment_code:, enrollment_id:, minutes_since_established:, + minutes_since_last_status_check:, + minutes_since_last_status_check_completed:, + minutes_since_last_status_update:, + minutes_to_completion:, + issuer:, + job_name:, response_message:, reason:, **extra ) track_event( 'GetUspsProofingResultsJob: Unexpected response received', - enrollment_code: enrollment_code, - enrollment_id: enrollment_id, - minutes_since_established: minutes_since_established, - response_message: response_message, - reason: reason, + enrollment_code:, + enrollment_id:, + minutes_since_established:, + response_message:, + reason:, + minutes_since_last_status_check:, + minutes_since_last_status_check_completed:, + minutes_since_last_status_update:, + minutes_to_completion:, + issuer:, + job_name:, **extra, ) end # A user has been moved to fraud review after completing proofing at the USPS + # @param [String] enrollment_code # @param [String] enrollment_id + # @param [Float] minutes_since_established + # @param [Float] minutes_since_last_status_check + # @param [Float] minutes_since_last_status_check_completed + # @param [Float] minutes_since_last_status_update + # @param [Float] minutes_to_completion + # @param [String] issuer def idv_in_person_usps_proofing_results_job_user_sent_to_fraud_review( + enrollment_code:, enrollment_id:, + minutes_since_established:, + minutes_since_last_status_check:, + minutes_since_last_status_check_completed:, + minutes_since_last_status_update:, + minutes_to_completion:, + issuer:, **extra ) track_event( :idv_in_person_usps_proofing_results_job_user_sent_to_fraud_review, - enrollment_id: enrollment_id, + enrollment_code:, + enrollment_id:, + minutes_since_established:, + minutes_since_last_status_check:, + minutes_since_last_status_check_completed:, + minutes_since_last_status_update:, + minutes_to_completion:, + issuer:, **extra, ) end diff --git a/spec/features/idv/get_proofing_results_job_scenarios_spec.rb b/spec/features/idv/get_proofing_results_job_scenarios_spec.rb index f28bc7fe37c..610e08c0614 100644 --- a/spec/features/idv/get_proofing_results_job_scenarios_spec.rb +++ b/spec/features/idv/get_proofing_results_job_scenarios_spec.rb @@ -1,7 +1,7 @@ require 'rails_helper' require 'axe-rspec' -RSpec.feature 'GetUspsProofingResultsJob Scenarios', js: true, allowed_extra_analytics: [:*] do +RSpec.feature 'GetUspsProofingResultsJob Scenarios', js: true do include OidcAuthHelper include UspsIppHelper include ActiveJob::TestHelper diff --git a/spec/jobs/get_usps_ready_proofing_results_job_spec.rb b/spec/jobs/get_usps_ready_proofing_results_job_spec.rb index 4c070bd93e2..7eb3b528917 100644 --- a/spec/jobs/get_usps_ready_proofing_results_job_spec.rb +++ b/spec/jobs/get_usps_ready_proofing_results_job_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -RSpec.describe GetUspsReadyProofingResultsJob, allowed_extra_analytics: [:*] do +RSpec.describe GetUspsReadyProofingResultsJob do include UspsIppHelper let(:reprocess_delay_minutes) { 2.0 } diff --git a/spec/jobs/get_usps_waiting_proofing_results_job_spec.rb b/spec/jobs/get_usps_waiting_proofing_results_job_spec.rb index 3a2b2078e8a..cf9ee72558b 100644 --- a/spec/jobs/get_usps_waiting_proofing_results_job_spec.rb +++ b/spec/jobs/get_usps_waiting_proofing_results_job_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -RSpec.describe GetUspsWaitingProofingResultsJob, allowed_extra_analytics: [:*] do +RSpec.describe GetUspsWaitingProofingResultsJob do include UspsIppHelper let(:reprocess_delay_minutes) { 2.0 }