Sha256: af4025a057f459f55e1a037ed00bcddb89634759f8fc516bebd58cd6637801ac

Contents?: true

Size: 1.6 KB

Versions: 1

Compression:

Stored size: 1.6 KB

Contents

require 'spec_helper'

describe Spree::Gateway::PinGateway do

  before do
    Spree::Gateway.update_all(active: false)
    @gateway = described_class.create!(name: 'Pin Gateway', environment: 'sandbox', active: true)
    @gateway.set_preference(:api_key, 'W_VzkRCZSILiKWUS-dndUg')
    @gateway.save!

    country = create(:country, name: 'Australia', iso_name: 'Australia', iso3: 'AUS', iso: 'AU', numcode: 61)
    state   = create(:state, name: 'Victoria', abbr: 'VIC', country: country)
    address = create(:address,
      firstname: 'Ronald C',
      lastname:  'Robot',
      address1:  '1234 My Street',
      address2:  'Apt 1',
      city:      'Melbourne',
      zipcode:   '3000',
      phone:     '88888888',
      state:     state,
      country:   country
    )

    order = create(:order_with_totals, bill_address: address, ship_address: address)
    order.update!

    credit_card = create(:credit_card,
      verification_value: '123',
      number:             '5520000000000000',
      month:              5,
      year:               Time.now.year + 1,
      name:               'Ronald C Robot',
      cc_type:            'mastercard'
    )

    @payment = create(:payment, source: credit_card, order: order, payment_method: @gateway, amount: 10.00)
    @payment.payment_method.environment = 'test'
  end

  it 'can purchase' do
    @payment.purchase!
    expect(@payment.state).to eq 'completed'
  end

  # Regression test for #106
  it 'uses auto capturing' do
    expect(@gateway.auto_capture?).to be true
  end

  it 'always uses purchase' do
    expect(@payment).to receive(:purchase!)
    @payment.process!
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
solidus_gateway-0.9.0 spec/models/gateway/pin_gateway_spec.rb