mirror of
https://github.com/stripe/stripe-ruby.git
synced 2025-10-05 00:02:50 -04:00
28 lines
1007 B
Ruby
28 lines
1007 B
Ruby
require File.expand_path('../../test_helper', __FILE__)
|
|
|
|
module Stripe
|
|
class StripeObjectTest < Test::Unit::TestCase
|
|
should "implement #respond_to correctly" do
|
|
obj = Stripe::StripeObject.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 stripe object correctly" do
|
|
obj = Stripe::StripeObject.construct_from({ :id => 1, :name => 'Stripe' }, 'apikey')
|
|
m = Marshal.load(Marshal.dump(obj))
|
|
assert_equal 1, m.id
|
|
assert_equal 'Stripe', m.name
|
|
assert_equal 'apikey', m.api_key
|
|
end
|
|
|
|
should "recursively call to_hash on its values" do
|
|
nested = Stripe::StripeObject.construct_from({ :id => 7, :foo => 'bar' })
|
|
obj = Stripe::StripeObject.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
|