mirror of
https://github.com/stripe/stripe-ruby.git
synced 2025-10-06 00:02:18 -04:00
Usage on a top-level collection: ``` Stripe::Customer.list.auto_paging_each do |customer| puts customer end ``` Usage on a subcollection: ``` ruby customer.invoices.auto_paging_each do |invoice| puts invoice end ``` We've also renamed `#all` to `#list` to prevent confusion ("all" implies that all resources are being returned, and in Stripe's paginated API this was not the case). An alias has been provided for backward API compatibility. Fixes #167. Replaces #211 and #248.
53 lines
1.6 KiB
Ruby
53 lines
1.6 KiB
Ruby
require File.expand_path('../../test_helper', __FILE__)
|
|
|
|
module Stripe
|
|
class OrderTest < Test::Unit::TestCase
|
|
should "orders should be listable" do
|
|
@mock.expects(:get).once.returns(make_response(make_order_array))
|
|
orders = Stripe::Order.list
|
|
assert orders.data.kind_of?(Array)
|
|
orders.each do |order|
|
|
assert order.kind_of?(Stripe::Order)
|
|
end
|
|
end
|
|
|
|
should "orders should not be deletable" do
|
|
assert_raises NoMethodError do
|
|
@mock.expects(:get).once.returns(make_response(make_order))
|
|
p = Stripe::Order.retrieve("test_order")
|
|
p.delete
|
|
end
|
|
end
|
|
|
|
should "orders should be updateable" do
|
|
@mock.expects(:get).once.returns(make_response(make_order))
|
|
@mock.expects(:post).once.returns(make_response(make_order))
|
|
p = Stripe::Order.new("test_order")
|
|
p.refresh
|
|
p.status = "fulfilled"
|
|
p.save
|
|
end
|
|
|
|
should "orders should allow metadata updates" do
|
|
@mock.expects(:get).once.returns(make_response(make_order))
|
|
@mock.expects(:post).once.returns(make_response(make_order))
|
|
p = Stripe::Order.new("test_order")
|
|
p.refresh
|
|
p.metadata['key'] = 'value'
|
|
p.save
|
|
end
|
|
|
|
should "pay should pay an order" do
|
|
@mock.expects(:get).once.
|
|
returns(make_response(make_order(:id => 'or_test_order')))
|
|
order = Stripe::Order.retrieve('or_test_order')
|
|
|
|
@mock.expects(:post).once.
|
|
with('https://api.stripe.com/v1/orders/or_test_order/pay', nil, 'token=test_token').
|
|
returns(make_response(make_paid_order))
|
|
order.pay(:token => 'test_token')
|
|
assert_equal "paid", order.status
|
|
end
|
|
end
|
|
end
|