2024-11-15 13:49:37 -05:00
|
|
|
require "test_helper"
|
|
|
|
|
|
|
|
class PlaidItemTest < ActiveSupport::TestCase
|
|
|
|
include SyncableInterfaceTest
|
|
|
|
|
|
|
|
setup do
|
|
|
|
@plaid_item = @syncable = plaid_items(:one)
|
|
|
|
end
|
|
|
|
|
|
|
|
test "removes plaid item when destroyed" do
|
|
|
|
@plaid_provider = mock
|
2025-01-31 12:13:58 -06:00
|
|
|
@plaid_item.stubs(:plaid_provider).returns(@plaid_provider)
|
2024-11-15 13:49:37 -05:00
|
|
|
@plaid_provider.expects(:remove_item).with(@plaid_item.access_token).once
|
|
|
|
|
|
|
|
assert_difference "PlaidItem.count", -1 do
|
|
|
|
@plaid_item.destroy
|
|
|
|
end
|
|
|
|
end
|
2025-01-20 15:12:53 -05:00
|
|
|
|
|
|
|
test "if plaid item not found, silently continues with deletion" do
|
|
|
|
@plaid_provider = mock
|
2025-01-31 12:13:58 -06:00
|
|
|
@plaid_item.stubs(:plaid_provider).returns(@plaid_provider)
|
2025-01-20 15:12:53 -05:00
|
|
|
@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
|
2024-11-15 13:49:37 -05:00
|
|
|
end
|