Skip to content

Commit ce8b0e9

Browse files
Add different phone number event matcher to event summarizer
https://gitlab.login.gov/lg-teams/joan/-/issues/21 changelog: Internal, Event Summarizer, Add different phone number matcher to event summarizer
1 parent 977d3e4 commit ce8b0e9

File tree

2 files changed

+48
-0
lines changed

2 files changed

+48
-0
lines changed

lib/event_summarizer/idv_matcher.rb

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ class IdvMatcher
2121
IDV_SOCURE_VERIFICATION_DATA_REQUESTED = 'idv_socure_verification_data_requested'
2222
IDV_PHONE_CONFIRMATION_VENDOR_EVENT = 'IdV: phone confirmation vendor'
2323
IDV_VERIFY_PROOFING_RESULTS_EVENT = 'IdV: doc auth verify proofing results'
24+
IDV_DIFFERENT_PHONE_NUMBER = 'IdV: use different phone number'
2425
IPP_ENROLLMENT_STATUS_UPDATED_EVENT = 'GetUspsProofingResultsJob: Enrollment status updated'
2526
PROFILE_ENCRYPTION_INVALID_EVENT = 'Profile Encryption: Invalid'
2627
RATE_LIMIT_REACHED_EVENT = 'Rate Limit Reached'
@@ -161,6 +162,11 @@ def handle_cloudwatch_event(event)
161162
handle_phone_confirmation_vendor_event(event:)
162163
end
163164

165+
when IDV_DIFFERENT_PHONE_NUMBER
166+
for_current_idv_attempt(event:) do
167+
handle_different_phone_number(event:)
168+
end
169+
164170
when IDV_VERIFY_PROOFING_RESULTS_EVENT
165171
for_current_idv_attempt(event:) do
166172
handle_verify_proofing_results_event(event:)
@@ -419,6 +425,14 @@ def handle_rate_limit_reached(event:)
419425
end
420426
end
421427

428+
def handle_different_phone_number(event:)
429+
add_significant_event(
430+
timestamp: event['@timestamp'],
431+
type: :different_phone_number,
432+
description: 'User attempted to use a different phone number',
433+
)
434+
end
435+
422436
def handle_image_upload_vendor_submitted(event:)
423437
timestamp = event['@timestamp']
424438
success = event.dig(*EVENT_PROPERTIES, 'success')

spec/lib/event_summarizer/idv_matcher_spec.rb

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,5 +168,39 @@
168168
end
169169
end
170170
end
171+
172+
context "On 'IdV: use different phone number' (Phone Verification Step) event" do
173+
let(:event) do
174+
{
175+
'@timestamp' => Time.zone.now,
176+
'name' => 'IdV: use different phone number',
177+
'@message' => {
178+
'properties' => {
179+
'event_properties' => {
180+
'step' => 'phone_otp_verification',
181+
},
182+
},
183+
},
184+
}
185+
end
186+
187+
before do
188+
allow(matcher).to receive(:current_idv_attempt).and_return(
189+
EventSummarizer::IdvMatcher::IdvAttempt.new(
190+
started_at: Time.zone.now,
191+
),
192+
)
193+
matcher.handle_cloudwatch_event(event)
194+
end
195+
196+
it 'adds a different_phone_number significant event when present' do
197+
expect(matcher.current_idv_attempt.significant_events).to include(
198+
have_attributes(
199+
type: :different_phone_number,
200+
description: 'User attempted to use a different phone number',
201+
),
202+
)
203+
end
204+
end
171205
end
172206
end

0 commit comments

Comments
 (0)