Sha256: 00e1e0c26c97e8d83fdb60cf175559aa76cdfedec0e6d18555096dcfdea597b2

Contents?: true

Size: 1.94 KB

Versions: 39

Compression:

Stored size: 1.94 KB

Contents

# frozen_string_literal: true

require ::File.expand_path("../test_helper", __dir__)

module Stripe
  class ChargeTest < Test::Unit::TestCase
    should "be listable" do
      charges = Stripe::Charge.list
      assert_requested :get, "#{Stripe.api_base}/v1/charges"
      assert charges.data.is_a?(Array)
      assert charges.data[0].is_a?(Stripe::Charge)
    end

    should "be retrievable" do
      charge = Stripe::Charge.retrieve("ch_123")
      assert_requested :get, "#{Stripe.api_base}/v1/charges/ch_123"
      assert charge.is_a?(Stripe::Charge)
    end

    should "be creatable" do
      charge = Stripe::Charge.create(
        amount: 100,
        currency: "USD",
        source: "src_123"
      )
      assert_requested :post, "#{Stripe.api_base}/v1/charges"
      assert charge.is_a?(Stripe::Charge)
    end

    should "be saveable" do
      charge = Stripe::Charge.retrieve("ch_123")
      charge.metadata["key"] = "value"
      charge.save
      assert_requested :post, "#{Stripe.api_base}/v1/charges/#{charge.id}"
    end

    should "be updateable" do
      charge = Stripe::Charge.update("ch_123", metadata: { foo: "bar" })
      assert_requested :post, "#{Stripe.api_base}/v1/charges/ch_123"
      assert charge.is_a?(Stripe::Charge)
    end

    context "#capture" do
      should "capture the charge" do
        charge = Stripe::Charge.retrieve("ch_123")
        charge = charge.capture(amount: 100)
        assert_requested :post,
                         "#{Stripe.api_base}/v1/charges/ch_123/capture",
                         body: { amount: 100 }
        assert charge.is_a?(Stripe::Charge)
      end
    end

    context ".capture" do
      should "capture the charge" do
        charge = Stripe::Charge.capture("ch_123", amount: 100)
        assert_requested :post,
                         "#{Stripe.api_base}/v1/charges/ch_123/capture",
                         body: { amount: 100 }
        assert charge.is_a?(Stripe::Charge)
      end
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
stripe-5.31.0 test/stripe/charge_test.rb
stripe-5.30.0 test/stripe/charge_test.rb
stripe-5.29.1 test/stripe/charge_test.rb
stripe-5.29.0 test/stripe/charge_test.rb
stripe-5.28.0 test/stripe/charge_test.rb
stripe-5.27.0 test/stripe/charge_test.rb
stripe-5.26.0 test/stripe/charge_test.rb
stripe-5.25.0 test/stripe/charge_test.rb
stripe-5.24.0 test/stripe/charge_test.rb
stripe-5.23.1 test/stripe/charge_test.rb
stripe-5.23.0 test/stripe/charge_test.rb
stripe-5.22.0 test/stripe/charge_test.rb
stripe-5.21.0 test/stripe/charge_test.rb
stripe-5.20.0 test/stripe/charge_test.rb
stripe-5.19.0 test/stripe/charge_test.rb
stripe-5.18.0 test/stripe/charge_test.rb
stripe-5.17.0 test/stripe/charge_test.rb
stripe-5.16.0 test/stripe/charge_test.rb
stripe-5.15.0 test/stripe/charge_test.rb
stripe-5.14.0 test/stripe/charge_test.rb