stripe-ruby/test/stripe/charge_test.rb
Brandur 5f4eff7e35 Port charge test suite to use OpenAPI spec
Ports the charge test suite over to use the stub server which is powered
by the OpenAPI spec and its fixtures.

We also introduce a number of conventions here especially around test
case naming and assertions that we'll diffuse to all other test suites
as we port them over. The entire set of tests is internally inconsistent
because of how each new module and resource was added incrementally over
time and while no strong conventions existed.
2017-02-14 12:17:37 -08:00

60 lines
1.8 KiB
Ruby

require File.expand_path('../../test_helper', __FILE__)
module Stripe
class ChargeTest < Test::Unit::TestCase
FIXTURE = API_FIXTURES.fetch(:charge)
should "be listable" do
charges = Stripe::Charge.list
assert_requested :get, "#{Stripe.api_base}/v1/charges"
assert charges.data.kind_of?(Array)
assert charges.data[0].kind_of?(Stripe::Charge)
end
should "be retrievable" do
charge = Stripe::Charge.retrieve(FIXTURE[:id])
assert_requested :get, "#{Stripe.api_base}/v1/charges/#{FIXTURE[:id]}"
assert charge.kind_of?(Stripe::Charge)
end
should "be creatable" do
charge = Stripe::Charge.create(
amount: 100,
currency: "USD",
source: API_FIXTURES.fetch(:source)[:id]
)
assert_requested :post, "#{Stripe.api_base}/v1/charges"
assert charge.kind_of?(Stripe::Charge)
end
should "be saveable" do
charge = Stripe::Charge.retrieve(FIXTURE[:id])
charge.metadata['key'] = 'value'
charge.save
assert_requested :post, "#{Stripe.api_base}/v1/charges/#{FIXTURE[:id]}"
end
should "be updateable" do
charge = Stripe::Charge.update(FIXTURE[:id], metadata: {foo: 'bar'})
assert_requested :post, "#{Stripe.api_base}/v1/charges/#{FIXTURE[:id]}"
assert charge.kind_of?(Stripe::Charge)
end
context "#mark_as_fraudulent" do
should "charges should be able to be marked as fraudulent" do
charge = Stripe::Charge.retrieve(FIXTURE[:id])
charge = charge.mark_as_fraudulent
assert charge.kind_of?(Stripe::Charge)
end
end
context "#mark_as_safe" do
should "charges should be able to be marked as safe" do
charge = Stripe::Charge.retrieve(FIXTURE[:id])
charge = charge.mark_as_safe
assert charge.kind_of?(Stripe::Charge)
end
end
end
end