stripe-ruby/test/stripe/dispute_test.rb
Brandur 42ea34b969 Pagination
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.
2015-10-05 12:15:09 -07:00

46 lines
1.4 KiB
Ruby

require File.expand_path('../../test_helper', __FILE__)
module Stripe
class DisputeTest < Test::Unit::TestCase
should "disputes should be retrievable" do
@mock.expects(:get).once.returns(make_response(make_dispute))
d = Stripe::Dispute.retrieve('dp_test_dispute')
assert d.kind_of?(Stripe::Dispute)
end
should "disputes should be listable" do
@mock.expects(:get).once.returns(make_response(make_dispute_array))
d = Stripe::Dispute.list
assert d.data.kind_of? Array
d.each do |dispute|
assert dispute.kind_of?(Stripe::Dispute)
end
end
should "disputes should be closeable" do
@mock.expects(:get).never
@mock.expects(:post).with(
"#{Stripe.api_base}/v1/disputes/test_dispute/close",
nil,
''
).once.returns(make_response({:id => 'dp_test_dispute', :status => 'lost'}))
d = Stripe::Dispute.new('test_dispute')
d.close
end
should "disputes should be updateable" do
@mock.expects(:get).once.returns(make_response(make_dispute))
@mock.expects(:post).with(
"#{Stripe.api_base}/v1/disputes/dp_test_dispute",
nil,
'evidence[customer_name]=customer'
).once.returns(make_response(make_dispute))
d = Stripe::Dispute.new('test_dispute')
d.refresh
d.evidence['customer_name'] = 'customer'
d.save
end
end
end