Sha256: 2e0e89fee26369a7dd057908703715c21bea3890d1bb32c8b16db7aa11c6a059

Contents?: true

Size: 1.88 KB

Versions: 14

Compression:

Stored size: 1.88 KB

Contents

require 'test_helper'
require 'unit/response_stubs/store_stubs'

class StoreTest < Test::Unit::TestCase

  include StoreStubs

  def setup
    @environment = Spreedly::Environment.new("key", "secret")
  end

  def test_successful_store
    t = store_using(successful_store_response)

    assert_kind_of(Spreedly::Store, t)
    assert_equal '1gOXWjBEiF83cylf5t4WLe4uULI', t.token
    assert_equal Time.parse("2015-03-20 17:32:04 UTC"), t.created_at
    assert_equal Time.parse("2015-03-20 17:32:04 UTC"), t.updated_at
    assert t.succeeded?
    assert_equal 'succeeded', t.state
    assert_equal 'McNbLlg7Ytmyyuh45PCsyfHas1r', t.payment_method.token
    assert_equal "test_vault:5555555555554444", t.payment_method.third_party_token
    assert_equal 'GQzlYKsJho12S2VswhsY8Q9qCmM', t.basis_payment_method.token

    assert t.response.success
    assert_equal 'Successful store', t.response.message
    assert !t.response.pending
    assert !t.response.fraud_review
    assert !t.response.cancelled
  end

  def test_failed_store
    t = store_using(failed_store_response)

    assert_kind_of(Spreedly::Store, t)
    assert_equal '88PvId4mseKsO09KlkcoilsbfMW', t.token
    assert !t.succeeded?
    assert_equal 'gateway_processing_failed', t.state

    assert_equal 'E0iLmJB1eHtJJXf7rpmk2UimCVi', t.basis_payment_method.token
    assert_equal 'Unable to store card', t.message
  end

  def test_request_body_params
    body = get_request_body(successful_store_response) do
      @environment.store_on_gateway("TheGatewayToken", "TheCardToken")
    end

    transaction = body.xpath('./transaction')
    assert_xpaths_in transaction, [ './payment_method_token', 'TheCardToken' ]
  end


  private
  def store_using(response)
    @environment.stubs(:raw_ssl_request).returns(response)
    @environment.store_on_gateway("IgnoredGatewayTokenSinceResponseIsStubbed", "IgnoredPaymentMethodTokenSinceResponseIsStubbed")
  end

end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
spreedly-2.0.28 test/unit/store_test.rb
spreedly-2.0.27 test/unit/store_test.rb
spreedly-2.0.26 test/unit/store_test.rb
spreedly-2.0.25 test/unit/store_test.rb
spreedly-2.0.24 test/unit/store_test.rb
spreedly-2.0.23 test/unit/store_test.rb
spreedly-2.0.22 test/unit/store_test.rb
spreedly-2.0.21 test/unit/store_test.rb
spreedly-2.0.20 test/unit/store_test.rb
spreedly-2.0.19 test/unit/store_test.rb
spreedly-2.0.18 test/unit/store_test.rb
spreedly-2.0.17 test/unit/store_test.rb
spreedly-2.0.16 test/unit/store_test.rb
spreedly-2.0.15 test/unit/store_test.rb