Sha256: 40ebb04dfed1ede5a5625c79a5d81e64983832d791c7fe5711a0b6dd739f8fa0

Contents?: true

Size: 1.14 KB

Versions: 2

Compression:

Stored size: 1.14 KB

Contents

require 'rails_helper'

RSpec.describe TbCheckout::Transaction, :type => :model do
  pending "add some examples to (or delete) #{__FILE__}"

  it_behaves_like 'belongs_to_spud_user_session', :tb_checkout_transaction

  let(:transaction) {
    FactoryGirl.create(:tb_checkout_transaction)
  }

  describe '#capture' do
    context 'when successful' do
      it 'makes a purchase' do
        expect {
          transaction.capture!
        }.to change(transaction, :status).to('captured')
      end
      it 'updates the cart' do
        transaction.capture!
        expect(transaction.cart.is_completed).to eq(true)
      end
    end
  end

  describe '#build_credit_card' do
    it 'returns a credit card' do
      result = transaction.send(:build_credit_card)
      expect(result).to be_a(ActiveMerchant::Billing::CreditCard)
      expect(result.first_name).to eq(transaction.billing_first_name)
    end
  end

  describe '#build_purchase_options' do
    it 'returns some options' do
      result = transaction.send(:build_purchase_options)
      expect(result).to be_a(Hash)
      expect(result[:email]).to eq(transaction.cart.spud_user.email)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
tb_checkout-1.1.1 spec/models/tb_checkout/transaction_spec.rb
tb_checkout-1.1.0 spec/models/tb_checkout/transaction_spec.rb