require 'spec_helper' describe Balanced::Card, '#debit', vcr: true, marketplace: true do it 'raises an exception with an unassociated card' do card = Balanced::Card.new expect { card.debit }.to raise_error(Balanced::UnassociatedCardError) end end describe Balanced::Card, '#hold', vcr: true, marketplace: true do it 'raises an exception with an unassociated card' do card = Balanced::Card.new expect { card.hold }.to raise_error(Balanced::UnassociatedCardError) end end describe Balanced::Card, '#debit', vcr: true, marketplace: true do it 'debits the card if an account is set' do # tokenize card card = Balanced::Card.new( card_number: '4111111111111111', expiration_year: '2016', expiration_month: '12') card.save # associate card to account Balanced::Account.new(email_address: 'user@example.com', name: 'John Doe', card_uri: card.uri).save card = Balanced::Card.find(card.uri) card.debit(amount: 10000).should be_instance_of Balanced::Debit end end