Skip to content

Commit

Permalink
API Updates (#1041)
Browse files Browse the repository at this point in the history
  • Loading branch information
pakrym-stripe authored Mar 29, 2022
1 parent 1467630 commit 60d51f2
Show file tree
Hide file tree
Showing 2 changed files with 67 additions and 0 deletions.
60 changes: 60 additions & 0 deletions lib/stripe/resources/terminal/reader.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,66 @@ class Reader < APIResource
include Stripe::APIOperations::Save

OBJECT_NAME = "terminal.reader"

custom_method :cancel_action, http_verb: :post
custom_method :process_payment_intent, http_verb: :post
custom_method :process_setup_intent, http_verb: :post
custom_method :set_reader_display, http_verb: :post

def cancel_action(params = {}, opts = {})
request_stripe_object(
method: :post,
path: resource_url + "/cancel_action",
params: params,
opts: opts
)
end

def process_payment_intent(params = {}, opts = {})
request_stripe_object(
method: :post,
path: resource_url + "/process_payment_intent",
params: params,
opts: opts
)
end

def process_setup_intent(params = {}, opts = {})
request_stripe_object(
method: :post,
path: resource_url + "/process_setup_intent",
params: params,
opts: opts
)
end

def set_reader_display(params = {}, opts = {})
request_stripe_object(
method: :post,
path: resource_url + "/set_reader_display",
params: params,
opts: opts
)
end

def test_helpers
TestHelpers.new(self)
end

class TestHelpers < APIResourceTestHelpers
RESOURCE_CLASS = Reader

custom_method :present_payment_method, http_verb: :post

def present_payment_method(params = {}, opts = {})
@resource.request_stripe_object(
method: :post,
path: resource_url + "/present_payment_method",
params: params,
opts: opts
)
end
end
end
end
end
7 changes: 7 additions & 0 deletions test/stripe/terminal/reader_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,13 @@ class ReaderTest < Test::Unit::TestCase
assert reader.is_a?(Stripe::Terminal::Reader)
end
end

should "be able to present a payment method" do
reader = Stripe::Terminal::Reader.retrieve("rdr_123")
reader = reader.test_helpers.present_payment_method
assert_requested :post, "#{Stripe.api_base}/v1/test_helpers/terminal/readers/rdr_123/present_payment_method"
assert reader.is_a?(Stripe::Terminal::Reader)
end
end
end
end

0 comments on commit 60d51f2

Please sign in to comment.