Do not raise on Plaid item not found exceptions for item deletions (#1646)

This commit is contained in:
Zach Gollwitzer
2025-01-20 15:12:53 -05:00
committed by GitHub
parent abccba3947
commit 72fd177707
2 changed files with 14 additions and 0 deletions

View File

@@ -131,5 +131,7 @@ class PlaidItem < ApplicationRecord
def remove_plaid_item
plaid_provider.remove_item(access_token)
rescue StandardError => e
Rails.logger.warn("Failed to remove Plaid item #{id}: #{e.message}")
end
end

View File

@@ -18,4 +18,16 @@ class PlaidItemTest < ActiveSupport::TestCase
@plaid_item.destroy
end
end
test "if plaid item not found, silently continues with deletion" do
@plaid_provider = mock
PlaidItem.stubs(:plaid_provider).returns(@plaid_provider)
@plaid_provider.expects(:remove_item).with(@plaid_item.access_token).raises(Plaid::ApiError.new("Item not found"))
assert_difference "PlaidItem.count", -1 do
@plaid_item.destroy
end
end
end