Sha256: 3bdc179fe2a03db3f49861f1435a320442c595e58943bb94f6c37f891c2a9f02

Contents?: true

Size: 955 Bytes

Versions: 2

Compression:

Stored size: 955 Bytes

Contents

require 'spec_helper'

require "stubs/payment_gateway"

describe PaymentGateway do

  context "#purchase" do
    it "makes purchase with valid credit card" do
      response = subject.purchase 1000, valid_credit_card

      expect(response['success'][0]).to eq('true')
    end

    it "fails purchase with invalid credit card" do
      response = subject.purchase 1000, invalid_credit_card

      expect(response['success'][0]).to eq('false')
      expect(response['error_message'][0]).to eq('Unsupported Credit Card Type')
    end
  end

  private

  def valid_credit_card
    stub(
      :first_name => "John",
      last_name: "Appleseed",
      number: "4242424242424242",
      card_type: "VISA",
      month: 8,
      year: Time.now.year+1,
      verification_value: "000"
    )
  end

  def invalid_credit_card
    invalid_credit_card = valid_credit_card

    invalid_credit_card.stubs(:card_type => "DISCOVER")

    invalid_credit_card
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
webmock_method-1.0.1 spec/payment_gateway_spec.rb
webmock_method-1.0.0 spec/payment_gateway_spec.rb