test/spec/transfers_spec.rb in openpay-1.0.3 vs test/spec/transfers_spec.rb in openpay-1.0.4

- old
+ new

@@ -14,19 +14,22 @@ @charges=@openpay.create(:charges) @bank_accounts=@openpay.create(:bankaccounts) @transfers=@openpay.create(:transfers) + end + it 'has all required methods' do + %w(all each create get list delete).each do |meth| + expect(@bank_accounts).to respond_to(meth) + end end describe '.create' do - it 'transfers money from customer to customer' do - #create new customer customer_hash= FactoryGirl.build(:customer) customer=@customers.create(customer_hash) #create new customer card @@ -35,47 +38,29 @@ #create charge charge_hash=FactoryGirl.build(:card_charge, source_id:card['id'],order_id: card['id']) charge=@charges.create(charge_hash,customer['id']) - - #create customer 2 customer_hash= FactoryGirl.build(:customer,name: 'Alejandro') customer2=@customers.create(customer_hash) #create new transfer customer_hash= FactoryGirl.build(:transfer,customer_id: customer2['id']) - transfer=@transfers.create(customer_hash,customer['id']) t=@transfers.get(transfer['id'],customer['id']) expect(t['amount']).to be_within(0.1).of 12.5 expect(t['method']).to match 'customer' - - - #clanup @cards.delete_all(customer['id']) - - - - end - - - - end - - - - describe 'get' do it 'gets a customer transfer' do #create new customer @@ -88,46 +73,36 @@ #create charge charge_hash=FactoryGirl.build(:card_charge, source_id:card['id'],order_id: card['id']) charge=@charges.create(charge_hash,customer['id']) - - #create customer 2 customer_hash= FactoryGirl.build(:customer,name: 'Alejandro') customer2=@customers.create(customer_hash) #create new transfer customer_hash= FactoryGirl.build(:transfer,customer_id: customer2['id']) - transfer=@transfers.create(customer_hash,customer['id']) t=@transfers.get(transfer['id'],customer['id']) expect(t).to be_a Hash expect(t['amount']).to be_within(0.1).of 12.5 expect(t['method']).to match 'customer' - - #clanup @cards.delete_all(customer['id']) end - - it 'fails to get a non existing transfer' do - expect { @transfers.get(11111,11111) }.to raise_exception OpenpayTransactionException + expect { @transfers.get(11111,11111) }.to raise_exception OpenpayTransactionException end - end - describe '.each' do - it 'iterates over a given customer transfers' do #create new customer customer_hash= FactoryGirl.build(:customer) customer=@customers.create(customer_hash) @@ -138,49 +113,75 @@ #create charge charge_hash=FactoryGirl.build(:card_charge, source_id:card['id'],order_id: card['id']) charge=@charges.create(charge_hash,customer['id']) - - #create customer 2 customer_hash= FactoryGirl.build(:customer,name: 'Alejandro') customer2=@customers.create(customer_hash) #create new transfer customer_hash= FactoryGirl.build(:transfer,customer_id: customer2['id']) transfer=@transfers.create(customer_hash,customer['id']) - #iterates over transfers @transfers.each(customer2['id']) do |tran| - expect(tran['amount']).to be_within(0.1).of 12.5 expect(tran['method']).to match 'customer' - end #clanup @cards.delete_all(customer['id']) + end + end + describe '.list' do + it 'list all transfers under the given filter' do - end + #create new customer + customer_hash= FactoryGirl.build(:customer) + customer=@customers.create(customer_hash) + #create new customer card + card_hash=FactoryGirl.build(:valid_card) + card=@cards.create(card_hash, customer['id']) + #create charge + charge_hash=FactoryGirl.build(:card_charge, source_id:card['id'],order_id: card['id']) + charge=@charges.create(charge_hash,customer['id']) - end + #create customer 2 + customer_hash= FactoryGirl.build(:customer,name: 'Alejandro') + customer2=@customers.create(customer_hash) + #create new transfer + customer_hash= FactoryGirl.build(:transfer,customer_id: customer2['id']) + transfer=@transfers.create(customer_hash,customer['id']) + transfer=@transfers.create(customer_hash,customer['id']) + #returns all transfers + @transfers.all(customer2['id']) + expect(@transfers.all(customer2['id']).size ).to be 2 + search_params = OpenpayUtils::SearchParams.new + search_params.limit = 1 + expect(@transfers.list(search_params,customer['id']).size).to eq 1 - describe '.all' do + #cleanup + @cards.delete_all(customer['id']) + @cards.delete_all(customer2['id']) + end + end + + describe '.all' do + it 'returns all customer transfers' do #create new customer customer_hash= FactoryGirl.build(:customer) customer=@customers.create(customer_hash) @@ -202,18 +203,15 @@ customer_hash= FactoryGirl.build(:transfer,customer_id: customer2['id']) transfer=@transfers.create(customer_hash,customer['id']) #returns all transfers - @transfers.all(customer2['id']) + @transfers.all(customer2['id']) expect(@transfers.all(customer2['id']).size ).to be 1 #cleanup @cards.delete_all(customer['id']) end - end - - -end \ No newline at end of file +end