Skip to content

Instantly share code, notes, and snippets.

@guipdutra
Created May 17, 2013 14:32
Show Gist options
  • Save guipdutra/5599418 to your computer and use it in GitHub Desktop.
Save guipdutra/5599418 to your computer and use it in GitHub Desktop.
# encoding: utf-8
require 'request_helper'
feature "BankTransfers", :js => true do
let(:current_descriptor) { Descriptor.make!(:detran_2012) }
let(:current_user) { User.make!(:sobrinho) }
background do
create_roles ['bank_transfers', 'bank_transfer_closings', 'bank_accounts']
sign_in
end
scenario 'create a new bank_transfer' do
bank_account = BankAccount.make!(:santander_folha)
#aqui tem capabilities
bank_account_itau = BankAccount.make!(:itau_tributos)
account_movement = AccountMovement.make!(:arrecadacao_sem_conta, :bank_account => bank_account)
account_movement_itau = AccountMovement.make!(:arrecadacao_sem_conta, :bank_account => bank_account_itau)
bank_account.account_movements = [ account_movement ]
bank_account_itau.account_movements = [ account_movement_itau ]
#aqui ja nao tem capabilities
agreement_bank_account = AgreementBankAccount.make!(:santander, :bank_account => bank_account)
agreement_bank_account_itau = AgreementBankAccount.make!(:itau, :bank_account => bank_account_itau)
AccountingHistoric.make!(:transferencia_semestral)
Agreement.make!(:apoio_ao_turismo_with_2_active_occurrences, :agreement_bank_accounts => [ agreement_bank_account, agreement_bank_account_itau])
Checkbook.make!(:santander_2012, :bank_account => bank_account)
navigate 'Execução > Transferências Bancárias'
click_link 'Criar Transferência Bancária'
within_tab 'Principal' do
expect(page).to have_disabled_field 'Número da transferência'
expect(page).to have_field 'Número da transferência', :with => ''
fill_in 'Data de transferência', :with => '02/10/2012'
fill_in 'Documento', :with => 'Ofício 13/2012'
within_modal 'bank_transfer_accounting_historic' do
expect(page).to have_disabled_field 'Tipo'
expect(page).to have_select 'Tipo', :selected => 'Transferências'
click_button 'Pesquisar'
click_record 'Semestral'
end
expect(page).to have_field('bank_transfer_historic_complement', :with => 'Semestral')
fill_in 'bank_transfer_historic_complement', :with => 'Complemento do histórico da transferência.'
fill_in 'Especificação', :with => 'Em aberto'
end
within_tab 'Conta de Retirada' do
fill_modal 'Conta bancária', :with => '2222', :field => 'Número da conta corrente'
within '#agreements' do
expect(page).to have_content 'Convênio repassado'
expect(page).to have_content 'Apoio ao turismo'
expect(page).to have_content 'Ativo'
choose 'bank_transfer[agreement_bank_account_id]'
end
expect(page).to have_field 'Saldo', :with => '900,00'
fill_in 'Valor', :with => '100,00'
expect(page).to have_disabled_field 'Recurso'
expect(page).to have_field 'Recurso', :with => 'Reforma e Ampliação'
expect(page).to have_field 'Saldo pré-transferência', :with => '900,00'
expect(page).to have_field 'Saldo pós-transferência', :with => '800,00'
fill_in 'Cheque', :with => '85011'
end
within_tab 'Conta para Depósito' do
fill_modal 'Conta bancária', :with => '1111', :field => 'Número da conta corrente'
expect(page).to have_field 'Recurso', :with => 'Construção'
within '#deposit_agreements' do
expect(page).to have_content 'Convênio repassado'
expect(page).to have_content 'Apoio ao turismo'
expect(page).to have_content 'Ativo'
choose 'bank_transfer[deposit_agreement_bank_account_id]'
end
expect(page).to have_disabled_field 'Saldo', :with => '900,00'
expect(page).to have_disabled_field 'Saldo pré-transferência', :with => '900,00'
expect(page).to have_disabled_field 'Saldo pós-transferência', :with => '1000,00'
end
click_button 'Salvar'
expect(page).to have_notice 'Transferência Bancária criada com sucesso.'
within_records do
click_link '1'
end
within_tab 'Principal' do
expect(page).to have_disabled_field 'Número da transferência', :with => '1'
expect(page).to have_disabled_field 'Data de transferência'
expect(page).to have_field 'Data de transferência', :with => '02/10/2012'
expect(page).to have_disabled_field 'Document', :with => 'Ofício 13/2012'
expect(page).to have_disabled_field 'bank_transfer_accounting_historic', :with => 'Semestral'
expect(page).to have_disabled_field 'bank_transfer_historic_complement',
:with => 'Complemento do histórico da transferência.'
expect(page).to have_disabled_field 'Especificação', :with => 'Em aberto'
end
within_tab 'Conta de Retirada' do
expect(page).to have_disabled_field 'Conta bancária', :with => 'Santander - Folha de Pagamento'
expect(page).to have_disabled_field 'Saldo', :with => '900,00'
expect(page).to have_disabled_field 'Saldo pré-transferência', :with => '900,00'
expect(page).to have_disabled_field 'Saldo pós-transferência', :with => '800,00'
expect(page).to have_disabled_field 'Valor', :with => '100,00'
expect(page).to have_disabled_field 'Cheque', :with => '85011'
within '#agreements' do
expect(page).to have_content 'Convênio repassado'
expect(page).to have_content 'Apoio ao turismo'
expect(page).to have_content 'Ativo'
expect(page).to have_checked_field 'bank_transfer[agreement_bank_account_id]'
end
end
within_tab 'Conta para Depósito' do
expect(page).to have_disabled_field 'Conta bancária', :with => 'Itaú Tributos Construção'
expect(page).to have_disabled_field 'Saldo', :with => '900,00'
expect(page).to have_disabled_field 'Saldo pré-transferência', :with => '900,00'
expect(page).to have_disabled_field 'Saldo pós-transferência', :with => '1000,00'
expect(page).to have_disabled_field 'Recurso', :with => 'Construção'
within '#deposit_agreements' do
expect(page).to have_content 'Convênio repassado'
expect(page).to have_content 'Apoio ao turismo'
expect(page).to have_content 'Ativo'
expect(page).to have_checked_field 'bank_transfer[deposit_agreement_bank_account_id]'
end
end
end
scenario 'does not change current balance of deposit bank account unless is selected' do
bank_account = BankAccount.make!(:itau_tributos)
account_movement = AccountMovement.make!(:arrecadacao_sem_conta, :bank_account => bank_account)
bank_account.account_movements = [ account_movement ]
navigate 'Execução > Transferências Bancárias'
click_link 'Criar Transferência Bancária'
within_tab 'Conta para Depósito' do
expect(page).to have_field 'Saldo pós-transferência', :with => ''
end
within_tab 'Conta de Retirada' do
fill_in 'Valor', :with => '100,00'
end
within_tab 'Conta para Depósito' do
expect(page).to have_field 'Saldo pós-transferência', :with => ''
fill_modal 'Conta bancária', :with => '1111', :field => 'Número da conta corrente'
expect(page).to have_field 'Saldo', :with => '900,00'
expect(page).to have_field 'Saldo pós-transferência', :with => '1.000,00'
end
end
scenario 'show info about dont have active agreements to select bank_account at edit form' do
bank_account = BankAccount.make!(:itau_tributos_construcao)
account_movement = AccountMovement.make!(:arrecadacao_sem_conta, :bank_account => bank_account)
bank_account.account_movements = [ account_movement ]
Checkbook.make!(:itau_2012_construcao, :bank_account => bank_account)
BankTransfer.make!(:semestre_de_2012, :bank_account => bank_account)
navigate 'Execução > Transferências Bancárias'
within_records do
click_link '1'
end
within_tab 'Conta de Retirada' do
expect(page).to have_content 'não há convênios ativos'
end
within_tab 'Conta para Depósito' do
expect(page).to have_content 'não há convênios ativos'
end
end
scenario 'clear bank account balances when clear bank_account' do
BankAccount.make!(:itau_tributos)
navigate 'Execução > Transferências Bancárias'
click_link 'Criar Transferência Bancária'
within_tab 'Conta de Retirada' do
fill_modal 'Conta bancária', :with => '1111', :field => 'Número da conta corrente'
fill_in 'Valor', :with => "100,00"
expect(page).to have_field 'Saldo', :with => '900,00'
clear_modal 'Conta bancária'
expect(page).to have_field 'Saldo', :with => ''
expect(page).to have_field 'Saldo pós-transferência', :with => ''
expect(page).to have_field 'Saldo pré-transferência', :with => ''
end
within_tab 'Conta para Depósito' do
fill_modal 'Conta bancária', :with => '1111', :field => 'Número da conta corrente'
expect(page).to have_field 'Saldo', :with => '900,00'
clear_modal 'Conta bancária'
expect(page).to have_field 'Saldo', :with => ''
expect(page).to have_field 'Saldo pós-transferência', :with => ''
expect(page).to have_field 'Saldo pré-transferência', :with => ''
end
end
scenario 'clear agreements table when clear bank_account' do
Agreement.make!(:apoio_ao_turismo_with_2_active_occurrences)
navigate 'Execução > Transferências Bancárias'
click_link 'Criar Transferência Bancária'
within_tab 'Conta de Retirada' do
fill_modal 'Conta bancária', :with => '2222', :field => 'Número da conta corrente'
expect(page).to have_content 'Convênio repassado'
expect(page).to have_content 'Apoio ao turismo'
expect(page).to have_content 'Ativo'
clear_modal 'Conta bancária'
expect(page).to_not have_content 'Convênio repassado'
expect(page).to_not have_content 'Apoio ao turismo'
expect(page).to_not have_content 'Ativo'
end
within_tab 'Conta para Depósito' do
fill_modal 'Conta bancária', :with => '2222', :field => 'Número da conta corrente'
expect(page).to have_content 'Convênio repassado'
expect(page).to have_content 'Apoio ao turismo'
expect(page).to have_content 'Ativo'
clear_modal 'Conta bancária'
expect(page).to_not have_content 'Convênio repassado'
expect(page).to_not have_content 'Apoio ao turismo'
expect(page).to_not have_content 'Ativo'
end
end
scenario 'Bugfix: use same value from balance before if value is cleaned' do
BankAccount.make!(:itau_tributos)
navigate 'Execução > Transferências Bancárias'
click_link 'Criar Transferência Bancária'
within_tab 'Conta de Retirada' do
fill_modal 'Conta bancária', :with => 'Itaú Tributos', :field => 'Descrição'
fill_in 'Valor', :with => '100,00'
expect(page).to have_field 'Saldo pré-transferência', :with => '900,00'
fill_in 'Valor', :with => '0,00'
expect(page).to have_field 'Saldo pós-transferência', :with => '900,00'
end
end
scenario 'Bugfix: should sum if deposit account have balance equals to zero' do
BankAccount.make!(:itau_tributos)
BankAccount.make!(:santander_folha, account_movements: [])
navigate 'Execução > Transferências Bancárias'
click_link 'Criar Transferência Bancária'
within_tab 'Conta de Retirada' do
fill_modal 'Conta bancária', :with => 'Itaú Tributos', :field => 'Descrição'
fill_in 'Valor', :with => '100,00'
end
within_tab 'Conta para Depósito' do
fill_modal 'Conta bancária', :with => 'Santander - Folha de Pagamento', :field => 'Descrição'
expect(page).to have_field 'Saldo pós-transferência', :with => '100,00'
end
end
scenario "pre and post-transfer balances" do
BankAccount.make!(:itau_tributos, :account_number => '3333')
Checkbook.make!(:itau_2012_construcao)
navigate 'Execução > Transferências Bancárias'
click_link "Criar Transferência Bancária"
within_tab 'Principal' do
fill_in 'Data de transferência', :with => '02/10/2012'
end
within_tab "Conta de Retirada" do
fill_modal 'Conta bancária', :with => '1111', :field => 'Número da conta corrente'
fill_in "Cheque", :with => 85001
fill_in 'Valor', :with => '100,00'
expect(page).to have_disabled_field "Saldo", :with => "800,00"
expect(page).to have_disabled_field "Saldo pré-transferência", :with => "900,00"
expect(page).to have_disabled_field "Saldo pós-transferência", :with => "800,00"
end
within_tab "Conta para Depósito" do
fill_modal 'Conta bancária', :with => '3333', :field => 'Número da conta corrente'
expect(page).to have_disabled_field "Saldo", :with => "900,00"
expect(page).to have_disabled_field "Saldo pós-transferência", :with => "1.000,00"
expect(page).to have_disabled_field "Saldo pré-transferência", :with => "900,00"
end
click_button "Salvar"
expect(page).to have_content "Transferência Bancária criada com sucesso"
end
context 'transfer note button' do
scenario 'show if is closed', :js => false do
Checkbook.make!(:itau_2012_construcao)
Agreement.make!(:apoio_ao_turismo_with_2_active_occurrences)
BankTransfer.make!(:closed)
Prefecture.make!(:belo_horizonte, :address => Address.make!(:apto))
navigate 'Execução > Transferências Bancárias'
within_records do
click_link '1'
end
click_link 'Nota da transferência'
expect(page).to have_content 'PREFEITURA MUNICIPAL DE CURITIBA'
expect(page).to have_content 'ESTADO DO PARANÁ'
expect(page).to have_content 'NOTA DE TRANSFERÊNCIA'
expect(page).to have_content 'Número da transferência: 1'
expect(page).to have_content 'Conta retirada: Itaú - Agência 10009-1 - Conta 1111-2'
expect(page).to have_content 'Recurso: Construção'
expect(page).to have_content 'Convênio:'
expect(page).to have_content 'Cheque: 85011'
expect(page).to have_content 'Conta depósito: Santander - Agência 10099-5 - Conta 2222-1'
expect(page).to have_content 'Recurso: Reforma e Ampliação'
expect(page).to have_content 'Convênio:'
expect(page).to have_content 'Valor transferido: R$ 100,00'
expect(page).to have_content 'Histórico'
expect(page).to have_content 'Especificação: '
expect(page).to have_content 'Fica autorizada a transferência de R$ 100,00 (cem reais)'
expect(page).to have_content 'Belo Horizonte, 11 de Outubro de 2012'
within '#withdraw' do
expect(page).to have_content 'Apoio ao turismo'
end
within '#deposit' do
expect(page).to have_content 'Apoio ao turismo'
end
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment