Skip to content

Commit 29e3786

Browse files
authored
127042 Digital Dispute error logging (#25444)
1 parent 0d56c6a commit 29e3786

File tree

4 files changed

+19
-10
lines changed

4 files changed

+19
-10
lines changed

modules/debts_api/app/models/debts_api/v0/digital_dispute_submission.rb

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,11 @@ def store_debt_identifiers(disputes)
6060

6161
def register_failure(message)
6262
failed!
63+
error_message = message.presence ||
64+
"An unknown error occurred while submitting from call_location: #{caller_locations&.first}"
65+
Rails.logger.error("DigitalDisputeSubmission error_message: #{error_message}")
6366
update(
64-
error_message: message.presence ||
65-
"An unknown error occurred while submitting the form from call_location: #{caller_locations&.first}"
67+
error_message:
6668
)
6769
begin
6870
send_failure_email if Settings.vsp_environment == 'production' &&

modules/debts_api/lib/debts_api/v0/digital_dispute_submission_service.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ def call
3636

3737
success_result(submission)
3838
rescue ActiveRecord::RecordInvalid => e
39+
Rails.logger.error("DigitalDisputeSubmissionService ActiveRecord error: #{e.message}")
3940
failure_result(e)
4041
rescue => e
4142
submission&.register_failure(e.message)
@@ -96,6 +97,7 @@ def create_submission_record
9697

9798
# Extract and store debt identifiers for duplicate checking
9899
disputes = @metadata[:disputes] || []
100+
99101
submission.store_debt_identifiers(disputes)
100102

101103
# Store non-PII data in public_metadata

modules/debts_api/spec/lib/debt_api/v0/digital_dispute_submission_service_spec.rb

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -159,15 +159,19 @@
159159

160160
context 'when unexpected error occurs' do
161161
it 'returns generic failure result' do
162-
allow_any_instance_of(described_class)
163-
.to receive(:validate_files_present)
164-
.and_raise(StandardError.new('Unexpected error'))
162+
VCR.use_cassette('bgs/people_service/person_data') do
163+
allow_any_instance_of(described_class).to receive(:send_to_dmc)
164+
.and_raise(StandardError.new('Unexpected error'))
165165

166-
service = described_class.new(user, [pdf_file_one])
167-
result = service.call
166+
expect(Rails.logger).to receive(:error).with('DigitalDisputeSubmission error_message: Unexpected error')
168167

169-
expect(result[:success]).to be false
170-
expect(result[:errors][:base]).to include('An error occurred processing your submission')
168+
metadata = { disputes: [{ composite_debt_id: 12 }, { composite_debt_id: 34 }, { composite_debt_id: 56 }] }
169+
service = described_class.new(user, [pdf_file_one], metadata)
170+
result = service.call
171+
172+
expect(result[:success]).to be false
173+
expect(result[:errors][:base]).to include('An error occurred processing your submission')
174+
end
171175
end
172176
end
173177

modules/debts_api/spec/models/debt_api/v0/digital_dispute_submission_spec.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@
2828
describe '#register_failure' do
2929
let(:message) { 'Test error message' }
3030

31-
it 'saves error message and sets failed state' do
31+
it 'saves and logs error message and sets failed state' do
32+
expect(Rails.logger).to receive(:error).with('DigitalDisputeSubmission error_message: Test error message')
3233
form_submission.register_failure(message)
3334
expect(form_submission.error_message).to eq(message)
3435
expect(form_submission.failed?).to be(true)

0 commit comments

Comments
 (0)