Sha256: 15c6dcf5561d3c7734db917dea253eadfcc3118490e153b54eefaa844789bf11

Contents?: true

Size: 1.06 KB

Versions: 13

Compression:

Stored size: 1.06 KB

Contents

require File.expand_path('../../test_helper', __FILE__)

module Payjp
  class PayjpObjectTest < Test::Unit::TestCase
    should "implement #respond_to correctly" do
      obj = Payjp::PayjpObject.construct_from({ :id => 1, :foo => 'bar' })
      assert obj.respond_to?(:id)
      assert obj.respond_to?(:foo)
      assert !obj.respond_to?(:baz)
    end

    should "marshal a payjp object correctly" do
      obj = Payjp::PayjpObject.construct_from({ :id => 1, :name => 'Payjp' }, { :api_key => 'apikey' })
      m = Marshal.load(Marshal.dump(obj))
      assert_equal 1, m.id
      assert_equal 'Payjp', m.name
      expected_hash = { :api_key => 'apikey' }
      assert_equal expected_hash, m.instance_variable_get('@opts')
    end

    should "recursively call to_hash on its values" do
      nested = Payjp::PayjpObject.construct_from({ :id => 7, :foo => 'bar' })
      obj = Payjp::PayjpObject.construct_from({ :id => 1, :nested => nested })
      expected_hash = { :id => 1, :nested => { :id => 7, :foo => 'bar' } }
      assert_equal expected_hash, obj.to_hash
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
payjp-0.0.16 test/payjp/payjp_object_test.rb
payjp-0.0.14 test/payjp/payjp_object_test.rb
payjp-0.0.13 test/payjp/payjp_object_test.rb
payjp-0.0.12 test/payjp/payjp_object_test.rb
payjp-0.0.10 test/payjp/payjp_object_test.rb
payjp-0.0.9 test/payjp/payjp_object_test.rb
payjp-0.0.8 test/payjp/payjp_object_test.rb
payjp-0.0.7 test/payjp/payjp_object_test.rb
payjp-0.0.6 test/payjp/payjp_object_test.rb
payjp-0.0.5 test/payjp/payjp_object_test.rb
payjp-0.0.4 test/payjp/payjp_object_test.rb
payjp-0.0.3 test/payjp/payjp_object_test.rb
payjp-0.0.2 test/payjp/payjp_object_test.rb