Module: BankApi::Clients::BancoSecurity::Transfers

Included in:
CompanyClient
Defined in:
lib/bank_api/clients/banco_security/concerns/transfers.rb

Instance Method Summary collapse

Instance Method Details

#fill_coordinatesObject



53
54
55
56
57
58
59
60
61
# File 'lib/bank_api/clients/banco_security/concerns/transfers.rb', line 53

def fill_coordinates
  browser.search("[name=\"clave-dinamica-radio\"][value=\"tarjeta-clave\"]").set
  (1..3).each do |i|
    coordinate = browser.search("label[for=\"coordenada-#{i}\"").text
    value = @dynamic_card.get_coordinate_value(coordinate)
    browser.search("#coordenada-#{i}").set(value)
  end
  browser.search('#enviar-paso-2').click
end

#set_transfer_transaction_data(transfer_data) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/bank_api/clients/banco_security/concerns/transfers.rb', line 39

def set_transfer_transaction_data(transfer_data)
  browser.search('.active #Monto').set(transfer_data[:amount])
  browser.search('.active #destinatario-cuenta').set(transfer_data[:account_number])
  browser.search('.active #destinatario-banco').set(
    Utils::BancoSecurity.bank_name(transfer_data[:bank])
  )
  browser.search(
    ".active [name=\"tipo-cuenta\"][data-nombre=\"" +
      Utils::BancoSecurity.(transfer_data[:account_type]) +
      "\"]"
  ).set
  browser.search('.active #Comentario').set(transfer_data[:comment])
end

#set_transfer_user_data(transfer_data) ⇒ Object



33
34
35
36
37
# File 'lib/bank_api/clients/banco_security/concerns/transfers.rb', line 33

def set_transfer_user_data(transfer_data)
  browser.search('.active #destinatario-nombre').set(transfer_data[:name])
  browser.search('.active #destinatario-rut').set(transfer_data[:rut])
  browser.search('.active #Email').set(transfer_data[:email])
end

#submit_transfer_form(transfer_data) ⇒ Object



27
28
29
30
31
# File 'lib/bank_api/clients/banco_security/concerns/transfers.rb', line 27

def submit_transfer_form(transfer_data)
  set_transfer_transaction_data(transfer_data)
  set_transfer_user_data(transfer_data)
  browser.search('.active #enviar-paso-1').click
end

#validate_transfer_missing_data(transfer_data) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/bank_api/clients/banco_security/concerns/transfers.rb', line 3

def validate_transfer_missing_data(transfer_data)
  if [transfer_data[:origin] || @company_rut].all?(&:nil?)
    raise BankApi::Transfer::MissingTransferData
  end
  if [
    transfer_data[:amount],
    transfer_data[:name],
    transfer_data[:rut],
    transfer_data[:account_number],
    transfer_data[:email]
  ].any?(&:nil?)
    raise BankApi::Transfer::MissingTransferData
  end
end

#validate_transfer_valid_data(transfer_data) ⇒ Object



18
19
20
21
22
23
24
25
# File 'lib/bank_api/clients/banco_security/concerns/transfers.rb', line 18

def validate_transfer_valid_data(transfer_data)
  unless Utils::BancoSecurity.valid_banks.include? transfer_data[:bank]
    raise BankApi::Transfer::InvalidBank
  end
  unless Utils::BancoSecurity..include? transfer_data[:account_type]
    raise BankApi::Transfer::InvalidAccountType
  end
end