Sha256: a6db32384cba541230af8cc80ac26a230ac4d91c922c9361ae1b5618032b1846

Contents?: true

Size: 1.79 KB

Versions: 18

Compression:

Stored size: 1.79 KB

Contents

require 'test_helper'
require 'unit/response_stubs/list_transactions_stubs'

class ListTransactionsTest < Test::Unit::TestCase

  include ListTransactionsStubs

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

  def test_successful_list_transactions
    list = list_using(successful_list_transactions_response)

    assert_kind_of(Array, list)
    assert_equal 2, list.size

    assert_equal 'TpjI3MSmLOSfqpFKP2poZRKc6Ru', list.first.gateway_token
    assert_equal '5Zkgibjs6z5R6XENMtZd8A8ajau', list.last.reference_token
    assert_kind_of Spreedly::Authorization, list.first
    assert_kind_of Spreedly::Capture, list.last

    assert_equal 'Aybara', list.first.payment_method.last_name
    assert_equal 'Successful capture', list.last.response.message
  end

  def test_request_url
    assert_request_url 'https://core.spreedly.com/v1/transactions.xml' do
      @environment.list_transactions
    end

    assert_request_url 'https://core.spreedly.com/v1/transactions.xml?since_token=SomeToken' do
      @environment.list_transactions("SomeToken")
    end

    assert_request_url 'https://core.spreedly.com/v1/payment_methods/SomePaymentMethodToken/transactions.xml' do
      @environment.list_transactions(nil, 'SomePaymentMethodToken')
    end

    assert_request_url 'https://core.spreedly.com/v1/payment_methods/SomePaymentMethodToken/transactions.xml?since_token=SinceToken' do
      @environment.list_transactions('SinceToken', 'SomePaymentMethodToken')
    end
  end

  private
  def list_using(response)
    @environment.stubs(:raw_ssl_request).returns(response)
    @environment.list_transactions
  end

  def assert_request_url(expected_url)
    actual_url = get_request_url(successful_list_transactions_response) do
      yield
    end
    assert_equal expected_url, actual_url
  end

end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
spreedly-2.0.19 test/unit/list_transactions_test.rb
spreedly-2.0.18 test/unit/list_transactions_test.rb
spreedly-2.0.17 test/unit/list_transactions_test.rb
spreedly-2.0.16 test/unit/list_transactions_test.rb
spreedly-2.0.15 test/unit/list_transactions_test.rb
spreedly-2.0.14 test/unit/list_transactions_test.rb
spreedly-2.0.13 test/unit/list_transactions_test.rb
spreedly-2.0.11 test/unit/list_transactions_test.rb
spreedly-2.0.10 test/unit/list_transactions_test.rb
spreedly-2.0.9 test/unit/list_transactions_test.rb
spreedly-2.0.8 test/unit/list_transactions_test.rb
spreedly-2.0.7 test/unit/list_transactions_test.rb
spreedly-2.0.6 test/unit/list_transactions_test.rb
spreedly-2.0.5 test/unit/list_transactions_test.rb
spreedly-2.0.4 test/unit/list_transactions_test.rb
spreedly-2.0.3 test/unit/list_transactions_test.rb
spreedly-2.0.2 test/unit/list_transactions_test.rb
spreedly-2.0.1 test/unit/list_transactions_test.rb