Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions lib/fintoc/v2/managers/account_numbers_manager.rb
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,10 @@ def update(account_number_id, idempotency_key: nil, **params)
build_account_number(data)
end

def delete(account_number_id)
_delete_account_number(account_number_id)
end

private

def _create_account_number(
Expand All @@ -55,6 +59,10 @@ def _update_account_number(account_number_id, idempotency_key: nil, **params)
.call("account_numbers/#{account_number_id}", **params)
end

def _delete_account_number(account_number_id)
@client.delete(version: :v2).call("account_numbers/#{account_number_id}")
end

def build_account_number(data)
Fintoc::V2::AccountNumber.new(**data, client: @client)
end
Expand Down
14 changes: 10 additions & 4 deletions lib/fintoc/v2/resources/account_number.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ module Fintoc
module V2
class AccountNumber
attr_reader :id, :object, :description, :number, :created_at, :updated_at,
:mode, :status, :is_root, :account_id, :metadata
:mode, :status, :is_root, :account_id, :metadata,
:last_transfer_at, :deleted_at

def initialize(
id:,
Expand All @@ -16,6 +17,8 @@ def initialize(
is_root:,
account_id:,
metadata:,
last_transfer_at: nil,
deleted_at: nil,
client: nil,
**
)
Expand All @@ -30,6 +33,8 @@ def initialize(
@is_root = is_root
@account_id = account_id
@metadata = metadata
@last_transfer_at = last_transfer_at
@deleted_at = deleted_at
@client = client
end

Expand Down Expand Up @@ -84,9 +89,8 @@ def simulate_receive_transfer(amount:, currency: 'MXN', idempotency_key: nil)
private

def refresh_from_account_number(account_number)
unless account_number.id == @id
raise ArgumentError, 'AccountNumber must be the same instance'
end
raise ArgumentError, 'AccountNumber must be the same instance' unless
account_number.id == @id

@object = account_number.object
@description = account_number.description
Expand All @@ -98,6 +102,8 @@ def refresh_from_account_number(account_number)
@is_root = account_number.is_root
@account_id = account_number.account_id
@metadata = account_number.metadata
@last_transfer_at = account_number.last_transfer_at
@deleted_at = account_number.deleted_at

self
end
Expand Down
16 changes: 16 additions & 0 deletions spec/lib/fintoc/v2/managers/account_numbers_manager_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -135,4 +135,20 @@
end
end
end

describe '#delete' do
let(:delete_proc) { instance_double(Proc) }

before do
allow(client).to receive(:delete).with(version: :v2).and_return(delete_proc)
allow(delete_proc)
.to receive(:call)
.with("account_numbers/#{account_number_id}")
.and_return(true)
end

it 'calls delete on the client' do
expect(manager.delete(account_number_id)).to be true
end
end
end
Loading