mirror of
https://github.com/stripe/stripe-ruby.git
synced 2025-06-01 00:00:30 -04:00
More updated tests
This commit is contained in:
parent
1ef1f79a16
commit
0019cfdc7e
@ -3,13 +3,15 @@ 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))
|
||||
stub_request(:get, "#{Stripe.api_base}/v1/disputes/dp_test_dispute").
|
||||
to_return(body: 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))
|
||||
stub_request(:get, "#{Stripe.api_base}/v1/disputes").
|
||||
to_return(body: make_response(make_dispute_array))
|
||||
d = Stripe::Dispute.list
|
||||
assert d.data.kind_of? Array
|
||||
d.each do |dispute|
|
||||
@ -18,34 +20,27 @@ module Stripe
|
||||
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')
|
||||
stub_request(:post, "#{Stripe.api_base}/v1/disputes/dp_test_dispute/close").
|
||||
to_return(body: make_response(make_dispute))
|
||||
d = Stripe::Dispute.new('dp_test_dispute')
|
||||
d.close
|
||||
end
|
||||
|
||||
should "disputes should be updateable" do
|
||||
@mock.expects(:post).once.
|
||||
with("https://api.stripe.com/v1/disputes/test_dispute", nil, "metadata[foo]=bar").
|
||||
returns(make_response(make_dispute(metadata: {foo: 'bar'})))
|
||||
d = Stripe::Dispute.update("test_dispute", metadata: {foo: 'bar'})
|
||||
assert_equal('bar', d.metadata['foo'])
|
||||
stub_request(:post, "#{Stripe.api_base}/v1/disputes/dp_test_dispute").
|
||||
with(body: { metadata: { foo: "bar" } }).
|
||||
to_return(body: make_response(make_dispute))
|
||||
_ = Stripe::Dispute.update("dp_test_dispute", metadata: {foo: 'bar'})
|
||||
end
|
||||
|
||||
should "disputes should be saveable" 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))
|
||||
stub_request(:get, "#{Stripe.api_base}/v1/disputes/dp_test_dispute").
|
||||
to_return(body: make_response(make_dispute))
|
||||
d = Stripe::Dispute.retrieve('dp_test_dispute')
|
||||
|
||||
d = Stripe::Dispute.new('test_dispute')
|
||||
d.refresh
|
||||
stub_request(:post, "#{Stripe.api_base}/v1/disputes/dp_test_dispute").
|
||||
with(body: { evidence: { customer_name: "customer" } }).
|
||||
to_return(body: make_response(make_dispute))
|
||||
d.evidence['customer_name'] = 'customer'
|
||||
d.save
|
||||
end
|
||||
|
@ -3,33 +3,26 @@ require File.expand_path('../../test_helper', __FILE__)
|
||||
module Stripe
|
||||
class FileUploadTest < Test::Unit::TestCase
|
||||
should "create should return a new file" do
|
||||
params = {
|
||||
stub_request(:post, "#{Stripe.uploads_base}/v1/files").
|
||||
to_return(body: make_response(make_file))
|
||||
|
||||
f = Stripe::FileUpload.create({
|
||||
:purpose => "dispute_evidence",
|
||||
:file => File.new(__FILE__),
|
||||
}
|
||||
|
||||
@mock.expects(:post).once.
|
||||
with("#{Stripe.uploads_base}/v1/files", nil, params).
|
||||
returns(make_response(make_file))
|
||||
|
||||
f = Stripe::FileUpload.create(params)
|
||||
})
|
||||
assert_equal "fil_test_file", f.id
|
||||
end
|
||||
|
||||
should "files should be retrievable" do
|
||||
@mock.expects(:get).once.
|
||||
with("#{Stripe.uploads_base}/v1/files/fil_test_file", nil, nil).
|
||||
returns(make_response(make_file))
|
||||
stub_request(:get, "#{Stripe.uploads_base}/v1/files/fil_test_file").
|
||||
to_return(body: make_response(make_file))
|
||||
|
||||
c = Stripe::FileUpload.new("fil_test_file")
|
||||
c.refresh
|
||||
assert_equal 1403047735, c.created
|
||||
_ = Stripe::FileUpload.retrieve("fil_test_file")
|
||||
end
|
||||
|
||||
should "files should be listable" do
|
||||
@mock.expects(:get).once.
|
||||
with("#{Stripe.uploads_base}/v1/files", nil, nil).
|
||||
returns(make_response(make_file_array))
|
||||
stub_request(:get, "#{Stripe.uploads_base}/v1/files").
|
||||
to_return(body: make_response(make_file_array))
|
||||
|
||||
c = Stripe::FileUpload.list.data
|
||||
assert c.kind_of? Array
|
||||
|
@ -3,17 +3,16 @@ require File.expand_path('../../test_helper', __FILE__)
|
||||
module Stripe
|
||||
class InvoiceItemTest < Test::Unit::TestCase
|
||||
should "retrieve should retrieve invoice items" do
|
||||
@mock.expects(:get).once.returns(make_response(make_invoice_item))
|
||||
ii = Stripe::InvoiceItem.retrieve('in_test_invoice_item')
|
||||
assert_equal 'ii_test_invoice_item', ii.id
|
||||
stub_request(:get, "#{Stripe.api_base}/v1/invoiceitems/ii_test_invoice_item").
|
||||
to_return(body: make_response(make_invoice_item))
|
||||
_ = Stripe::InvoiceItem.retrieve('ii_test_invoice_item')
|
||||
end
|
||||
|
||||
should "invoice items should be updateable" do
|
||||
@mock.expects(:post).once.
|
||||
with('https://api.stripe.com/v1/invoiceitems/test_invoice_item', nil, 'metadata[foo]=bar').
|
||||
returns(make_response(make_charge(metadata: {'foo' => 'bar'})))
|
||||
ii = Stripe::InvoiceItem.update("test_invoice_item", metadata: {foo: 'bar'})
|
||||
assert_equal('bar', ii.metadata['foo'])
|
||||
stub_request(:post, "#{Stripe.api_base}/v1/invoiceitems/ii_test_invoice_item").
|
||||
with(body: { metadata: { foo: "bar" } }).
|
||||
to_return(body: make_response(make_invoice_item))
|
||||
_ = Stripe::InvoiceItem.update("ii_test_invoice_item", metadata: {foo: 'bar'})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -3,62 +3,46 @@ require File.expand_path('../../test_helper', __FILE__)
|
||||
module Stripe
|
||||
class InvoiceTest < Test::Unit::TestCase
|
||||
should "retrieve should retrieve invoices" do
|
||||
@mock.expects(:get).once.returns(make_response(make_invoice))
|
||||
stub_request(:get, "#{Stripe.api_base}/v1/invoices/in_test_invoice").
|
||||
to_return(body: make_response(make_invoice))
|
||||
i = Stripe::Invoice.retrieve('in_test_invoice')
|
||||
assert_equal 'in_test_invoice', i.id
|
||||
end
|
||||
|
||||
should "create should create a new invoice" do
|
||||
@mock.expects(:post).once.returns(make_response(make_invoice))
|
||||
i = Stripe::Invoice.create
|
||||
assert_equal "in_test_invoice", i.id
|
||||
stub_request(:post, "#{Stripe.api_base}/v1/invoices").
|
||||
to_return(body: make_response(make_invoice))
|
||||
_ = Stripe::Invoice.create
|
||||
end
|
||||
|
||||
should "pay should pay an invoice" do
|
||||
@mock.expects(:get).once.returns(make_response(make_invoice))
|
||||
stub_request(:get, "#{Stripe.api_base}/v1/invoices/in_test_invoice").
|
||||
to_return(body: make_response(make_invoice))
|
||||
i = Stripe::Invoice.retrieve('in_test_invoice')
|
||||
|
||||
@mock.expects(:post).once.with('https://api.stripe.com/v1/invoices/in_test_invoice/pay', nil, '').returns(make_response(make_paid_invoice))
|
||||
stub_request(:post, "#{Stripe.api_base}/v1/invoices/#{i.id}/pay").
|
||||
to_return(body: make_response(make_invoice))
|
||||
i.pay
|
||||
assert_equal nil, i.next_payment_attempt
|
||||
end
|
||||
|
||||
should "invoices should be updateable" do
|
||||
@mock.expects(:post).once.
|
||||
with("https://api.stripe.com/v1/invoices/test_invoice", nil, "metadata[foo]=bar").
|
||||
returns(make_response(make_invoice(metadata: {foo: 'bar'})))
|
||||
i = Stripe::Invoice.update("test_invoice", metadata: {foo: 'bar'})
|
||||
assert_equal('bar', i.metadata['foo'])
|
||||
end
|
||||
|
||||
should "pay with extra opts should pay an invoice" do
|
||||
@mock.expects(:get).once.returns(make_response(make_invoice))
|
||||
i = Stripe::Invoice.retrieve('in_test_invoice', {:api_key => 'foobar'})
|
||||
|
||||
@mock.expects(:post).once.width do |url, _, _|
|
||||
url == "#{Stripe.api_base}/v1/invoices/in_test_invoice/pay"
|
||||
end.returns(make_response(make_paid_invoice))
|
||||
|
||||
i.pay
|
||||
assert_equal nil, i.next_payment_attempt
|
||||
stub_request(:post, "#{Stripe.api_base}/v1/invoices/test_invoice").
|
||||
with(body: { metadata: { foo: "bar" } }).
|
||||
to_return(body: make_response(make_invoice))
|
||||
_ = Stripe::Invoice.update("test_invoice", metadata: {foo: 'bar'})
|
||||
end
|
||||
|
||||
should "be able to retrieve upcoming invoices" do
|
||||
base = "#{Stripe.api_base}/v1/invoices/upcoming?"
|
||||
cus_sub = "customer=c_test_customer&subscription=s_test_subscription&"
|
||||
item0 = "subscription_items[][plan]=gold&subscription_items[][quantity]=1&"
|
||||
item1 = "subscription_items[][plan]=silver&subscription_items[][quantity]=2"
|
||||
@mock.expects(:get).once.with(base + cus_sub + item0 + item1, nil, nil).
|
||||
returns(make_response(make_invoice(:customer => 'c_test_customer', :subscription => 's_test_subscription')))
|
||||
|
||||
i = Stripe::Invoice.upcoming(
|
||||
stub_request(:get, "#{Stripe.api_base}/v1/invoices/upcoming").
|
||||
with(query: {
|
||||
:customer => 'c_test_customer',
|
||||
:subscription => 's_test_subscription',
|
||||
}).
|
||||
to_return(body: make_response(make_invoice))
|
||||
_ = Stripe::Invoice.upcoming(
|
||||
:customer => 'c_test_customer',
|
||||
:subscription => 's_test_subscription',
|
||||
:subscription_items => [{:plan => 'gold', :quantity =>1}, {:plan => 'silver', :quantity =>2}]
|
||||
)
|
||||
|
||||
assert_equal 'c_test_customer', i.customer
|
||||
assert_equal 's_test_subscription', i.subscription
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -36,8 +36,9 @@ module Stripe
|
||||
:has_more => true,
|
||||
:url => "/things",
|
||||
})
|
||||
@mock.expects(:get).once.with("#{Stripe.api_base}/things?starting_after=1", nil, nil).
|
||||
returns(make_response({ :data => [{ :id => 2 }, { :id => 3}], :has_more => false }))
|
||||
stub_request(:get, "#{Stripe.api_base}/things").
|
||||
with(query: { starting_after: "1" }).
|
||||
to_return(body: make_response({ :data => [{ :id => 2 }, { :id => 3}], :has_more => false }))
|
||||
|
||||
assert_equal expected, list.auto_paging_each.to_a
|
||||
end
|
||||
@ -55,8 +56,9 @@ module Stripe
|
||||
:has_more => true,
|
||||
:url => "/things",
|
||||
})
|
||||
@mock.expects(:get).once.with("#{Stripe.api_base}/things?starting_after=1", nil, nil).
|
||||
returns(make_response({ :data => [{ :id => 2 }, { :id => 3}], :has_more => false }))
|
||||
stub_request(:get, "#{Stripe.api_base}/things").
|
||||
with(query: { starting_after: "1" }).
|
||||
to_return(body: make_response({ :data => [{ :id => 2 }, { :id => 3}], :has_more => false }))
|
||||
|
||||
actual = []
|
||||
list.auto_paging_each do |obj|
|
||||
@ -83,8 +85,9 @@ module Stripe
|
||||
:has_more => true,
|
||||
:url => "/things",
|
||||
})
|
||||
@mock.expects(:get).once.with("#{Stripe.api_base}/things?starting_after=1", nil, nil).
|
||||
returns(make_response({ :data => [{ :id => 2 }], :has_more => false }))
|
||||
stub_request(:get, "#{Stripe.api_base}/things").
|
||||
with(query: { starting_after: "1" }).
|
||||
to_return(body: make_response({ :data => [{ :id => 2 }], :has_more => false }))
|
||||
next_list = list.next_page
|
||||
refute next_list.empty?
|
||||
end
|
||||
@ -96,15 +99,9 @@ module Stripe
|
||||
:url => "/things",
|
||||
})
|
||||
list.filters = { :expand => ['data.source'], :limit => 3 }
|
||||
@mock.expects(:get).with do |url, _, _|
|
||||
u = URI.parse(url)
|
||||
params = CGI.parse(u.query)
|
||||
u.host == URI.parse(Stripe.api_base).host && u.path == "/things" && params == {
|
||||
"expand[]" => ["data.source"],
|
||||
"limit" => ["3"],
|
||||
"starting_after" => ["1"],
|
||||
}
|
||||
end.returns(make_response({ :data => [{ :id => 2 }], :has_more => false }))
|
||||
stub_request(:get, "#{Stripe.api_base}/things").
|
||||
with(query: { "expand[]" => "data.source", "limit" => "3", "starting_after" => "1" }).
|
||||
to_return(body: make_response({ :data => [{ :id => 2 }], :has_more => false }))
|
||||
next_list = list.next_page
|
||||
assert_equal({ :expand => ['data.source'], :limit => 3 }, next_list.filters)
|
||||
end
|
||||
@ -128,8 +125,9 @@ module Stripe
|
||||
:data => [{ :id => 2 }],
|
||||
:url => "/things",
|
||||
})
|
||||
@mock.expects(:get).once.with("#{Stripe.api_base}/things?ending_before=2", nil, nil).
|
||||
returns(make_response({ :data => [{ :id => 1 }] }))
|
||||
stub_request(:get, "#{Stripe.api_base}/things").
|
||||
with(query: { ending_before: "2" }).
|
||||
to_return(body: make_response({ :data => [{ :id => 1 }] }))
|
||||
next_list = list.previous_page
|
||||
refute next_list.empty?
|
||||
end
|
||||
@ -140,17 +138,9 @@ module Stripe
|
||||
:url => "/things",
|
||||
})
|
||||
list.filters = { :expand => ['data.source'], :limit => 3 }
|
||||
@mock.expects(:get).with do |url, _, _|
|
||||
# apparently URI.parse in 1.8.7 doesn't support query parameters ...
|
||||
url, query = url.split("?")
|
||||
u = URI.parse(url)
|
||||
params = CGI.parse(query)
|
||||
u.host == URI.parse(Stripe.api_base).host && u.path == "/things" && params == {
|
||||
"ending_before" => ["2"],
|
||||
"expand[]" => ["data.source"],
|
||||
"limit" => ["3"],
|
||||
}
|
||||
end.returns(make_response({ :data => [{ :id => 1 }] }))
|
||||
stub_request(:get, "#{Stripe.api_base}/things").
|
||||
with(query: { "expand[]" => "data.source", "limit" => "3", "ending_before" => "2" }).
|
||||
to_return(body: make_response({ :data => [{ :id => 1 }] }))
|
||||
next_list = list.previous_page
|
||||
assert_equal({ :expand => ['data.source'], :limit => 3 }, next_list.filters)
|
||||
end
|
||||
@ -162,7 +152,8 @@ module Stripe
|
||||
# note that the name #all is deprecated, as is using it fetch the next page
|
||||
# in a list
|
||||
should "be able to retrieve full lists given a listobject" do
|
||||
@mock.expects(:get).twice.returns(make_response(make_charge_array))
|
||||
stub_request(:get, "#{Stripe.api_base}/v1/charges").
|
||||
to_return(body: make_response(make_charge_array))
|
||||
c = Stripe::Charge.all
|
||||
assert c.kind_of?(Stripe::ListObject)
|
||||
assert_equal('/v1/charges', c.resource_url)
|
||||
|
@ -1,129 +0,0 @@
|
||||
require File.expand_path('../../test_helper', __FILE__)
|
||||
|
||||
module Stripe
|
||||
class MetadataTest < Test::Unit::TestCase
|
||||
setup do
|
||||
@metadata_supported = {
|
||||
:charge => {
|
||||
:new => Stripe::Charge.method(:new),
|
||||
:test => method(:make_charge),
|
||||
:url => "/v1/charges/#{make_charge()[:id]}"
|
||||
},
|
||||
:customer => {
|
||||
:new => Stripe::Customer.method(:new),
|
||||
:test => method(:make_customer),
|
||||
:url => "/v1/customers/#{make_customer()[:id]}"
|
||||
},
|
||||
:recipient => {
|
||||
:new => Stripe::Recipient.method(:new),
|
||||
:test => method(:make_recipient),
|
||||
:url => "/v1/recipients/#{make_recipient()[:id]}"
|
||||
},
|
||||
:transfer => {
|
||||
:new => Stripe::Transfer.method(:new),
|
||||
:test => method(:make_transfer),
|
||||
:url => "/v1/transfers/#{make_transfer()[:id]}"
|
||||
},
|
||||
:product => {
|
||||
:new => Stripe::Product.method(:new),
|
||||
:test => method(:make_product),
|
||||
:url => "/v1/products/#{make_product()[:id]}"
|
||||
},
|
||||
:order => {
|
||||
:new => Stripe::Order.method(:new),
|
||||
:test => method(:make_order),
|
||||
:url => "/v1/orders/#{make_order()[:id]}"
|
||||
},
|
||||
:sku => {
|
||||
:new => Stripe::SKU.method(:new),
|
||||
:test => method(:make_sku),
|
||||
:url => "/v1/skus/#{make_sku()[:id]}"
|
||||
},
|
||||
}
|
||||
|
||||
@base_url = 'https://api.stripe.com'
|
||||
end
|
||||
|
||||
should "not touch metadata" do
|
||||
update_actions = lambda {|obj| obj.description = 'test'}
|
||||
check_metadata({:metadata => {'initial' => 'true'}},
|
||||
'description=test',
|
||||
update_actions)
|
||||
end
|
||||
|
||||
|
||||
should "update metadata as a whole" do
|
||||
update_actions = lambda {|obj| obj.metadata = {'uuid' => '6735'}}
|
||||
check_metadata({:metadata => {}},
|
||||
'metadata[uuid]=6735',
|
||||
update_actions)
|
||||
|
||||
if is_greater_than_ruby_1_9?
|
||||
check_metadata({:metadata => {:initial => 'true'}},
|
||||
'metadata[initial]=&metadata[uuid]=6735',
|
||||
update_actions)
|
||||
end
|
||||
end
|
||||
|
||||
should "update metadata keys individually" do
|
||||
update_actions = lambda {|obj| obj.metadata['txn_id'] = '134a13'}
|
||||
check_metadata({:metadata => {'initial' => 'true'}},
|
||||
'metadata[txn_id]=134a13',
|
||||
update_actions)
|
||||
end
|
||||
|
||||
should "clear metadata as a whole" do
|
||||
update_actions = lambda {|obj| obj.metadata = nil}
|
||||
check_metadata({:metadata => {'initial' => 'true'}},
|
||||
'metadata=',
|
||||
update_actions)
|
||||
end
|
||||
|
||||
should "clear metadata keys individually" do
|
||||
update_actions = lambda {|obj| obj.metadata['initial'] = nil}
|
||||
check_metadata({:metadata => {'initial' => 'true'}},
|
||||
'metadata[initial]=',
|
||||
update_actions)
|
||||
end
|
||||
|
||||
should "handle combinations of whole and partial metadata updates" do
|
||||
if is_greater_than_ruby_1_9?
|
||||
update_actions = lambda do |obj|
|
||||
obj.metadata = {'type' => 'summer'}
|
||||
obj.metadata['uuid'] = '6735'
|
||||
end
|
||||
params = {:metadata => {'type' => 'summer', 'uuid' => '6735'}}
|
||||
curl_args = Stripe::Util.encode_parameters(params)
|
||||
check_metadata({:metadata => {'type' => 'christmas'}},
|
||||
curl_args,
|
||||
update_actions)
|
||||
end
|
||||
end
|
||||
|
||||
def check_metadata (initial_params, curl_args, metadata_update)
|
||||
@metadata_supported.each do |name, methods|
|
||||
neu = methods[:new]
|
||||
test = methods[:test]
|
||||
url = @base_url + methods[:url]
|
||||
|
||||
initial_test_obj = test.call(initial_params)
|
||||
@mock.expects(:get).once.returns(make_response(initial_test_obj))
|
||||
|
||||
final_test_obj = test.call()
|
||||
@mock.expects(:post).once.
|
||||
returns(make_response(final_test_obj)).
|
||||
with(url, nil, curl_args)
|
||||
|
||||
obj = neu.call("test")
|
||||
obj.refresh()
|
||||
metadata_update.call(obj)
|
||||
obj.save
|
||||
end
|
||||
end
|
||||
|
||||
def is_greater_than_ruby_1_9?
|
||||
version = RUBY_VERSION.dup # clone preserves frozen state
|
||||
Gem::Version.new(version) >= Gem::Version.new('1.9')
|
||||
end
|
||||
end
|
||||
end
|
@ -3,7 +3,8 @@ require File.expand_path('../../test_helper', __FILE__)
|
||||
module Stripe
|
||||
class OrderReturnTest < Test::Unit::TestCase
|
||||
should "returns should be listable" do
|
||||
@mock.expects(:get).once.returns(make_response(make_order_return_array))
|
||||
stub_request(:get, "#{Stripe.api_base}/v1/order_returns").
|
||||
to_return(body: make_response(make_order_return_array))
|
||||
returns = Stripe::OrderReturn.list
|
||||
assert returns.data.kind_of?(Array)
|
||||
returns.each do |ret|
|
||||
|
@ -3,7 +3,8 @@ 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))
|
||||
stub_request(:get, "#{Stripe.api_base}/v1/orders").
|
||||
to_return(body: make_response(make_order_array))
|
||||
orders = Stripe::Order.list
|
||||
assert orders.data.kind_of?(Array)
|
||||
orders.each do |order|
|
||||
@ -12,61 +13,54 @@ module Stripe
|
||||
end
|
||||
|
||||
should "orders should not be deletable" do
|
||||
stub_request(:get, "#{Stripe.api_base}/v1/orders/or_test_order").
|
||||
to_return(body: make_response(make_order))
|
||||
p = Stripe::Order.retrieve("or_test_order")
|
||||
|
||||
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 saveable" 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
|
||||
stub_request(:get, "#{Stripe.api_base}/v1/orders/or_test_order").
|
||||
to_return(body: make_response(make_order))
|
||||
p = Stripe::Order.retrieve("or_test_order")
|
||||
|
||||
stub_request(:post, "#{Stripe.api_base}/v1/orders/#{p.id}").
|
||||
with(body: { status: "fulfilled" }).
|
||||
to_return(body: make_response(make_order))
|
||||
p.status = "fulfilled"
|
||||
p.save
|
||||
end
|
||||
|
||||
should "orders should be updateable" do
|
||||
@mock.expects(:post).once.
|
||||
with('https://api.stripe.com/v1/orders/test_order', nil, 'status=fulfilled').
|
||||
returns(make_response(make_order(status: 'fulfilled')))
|
||||
ii = Stripe::Order.update("test_order", status: 'fulfilled')
|
||||
assert_equal('fulfilled', ii.status)
|
||||
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
|
||||
stub_request(:post, "#{Stripe.api_base}/v1/orders/or_test_order").
|
||||
with(body: { status: "fulfilled" }).
|
||||
to_return(body: make_response(make_order))
|
||||
_ = Stripe::Order.update("or_test_order", status: 'fulfilled')
|
||||
end
|
||||
|
||||
should "pay should pay an order" do
|
||||
@mock.expects(:get).once.
|
||||
returns(make_response(make_order(:id => 'or_test_order')))
|
||||
stub_request(:get, "#{Stripe.api_base}/v1/orders/or_test_order").
|
||||
to_return(body: make_response(make_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))
|
||||
stub_request(:post, "#{Stripe.api_base}/v1/orders/#{order.id}/pay").
|
||||
with(body: { token: "test_token" }).
|
||||
to_return(body: make_response(make_order))
|
||||
order.pay(:token => 'test_token')
|
||||
assert_equal "paid", order.status
|
||||
end
|
||||
|
||||
should "return an order" do
|
||||
@mock.expects(:get).once.
|
||||
returns(make_response(make_order(:id => 'or_test_order')))
|
||||
stub_request(:get, "#{Stripe.api_base}/v1/orders/or_test_order").
|
||||
to_return(body: make_response(make_order))
|
||||
order = Stripe::Order.retrieve('or_test_order')
|
||||
|
||||
@mock.expects(:post).once.
|
||||
with('https://api.stripe.com/v1/orders/or_test_order/returns', nil, 'items[][parent]=sku_foo').
|
||||
returns(make_response(make_order_return({:order => order.id})))
|
||||
order_return = order.return_order(:items => [{:parent => 'sku_foo'}])
|
||||
assert_equal order.id, order_return.order
|
||||
stub_request(:post, "#{Stripe.api_base}/v1/orders/#{order.id}/returns").
|
||||
with(body: { items: [{ parent: "sku_foo" }] }).
|
||||
to_return(body: make_response(make_order))
|
||||
_ = order.return_order(:items => [{:parent => 'sku_foo'}])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -3,7 +3,8 @@ require File.expand_path('../../test_helper', __FILE__)
|
||||
module Stripe
|
||||
class PlanTest < Test::Unit::TestCase
|
||||
should "plans should be listable" do
|
||||
@mock.expects(:get).once.returns(make_response(make_plan_array))
|
||||
stub_request(:get, "#{Stripe.api_base}/v1/plans").
|
||||
to_return(body: make_response(make_plan_array))
|
||||
plans = Stripe::Plan.list
|
||||
assert plans.data.kind_of?(Array)
|
||||
plans.each do |plan|
|
||||
@ -12,20 +13,22 @@ module Stripe
|
||||
end
|
||||
|
||||
should "plans should be saveable" do
|
||||
@mock.expects(:get).once.returns(make_response(make_plan))
|
||||
@mock.expects(:post).once.returns(make_response(make_plan))
|
||||
p = Stripe::Plan.new("test_plan")
|
||||
p.refresh
|
||||
stub_request(:get, "#{Stripe.api_base}/v1/plans/test_plan").
|
||||
to_return(body: make_response(make_plan))
|
||||
p = Stripe::Plan.retrieve("test_plan")
|
||||
|
||||
stub_request(:post, "#{Stripe.api_base}/v1/plans/#{p.id}").
|
||||
with(body: { metadata: { foo: "bar" } }).
|
||||
to_return(body: make_response(make_plan))
|
||||
p.metadata['foo'] = 'bar'
|
||||
p.save
|
||||
end
|
||||
|
||||
should "plans should be updateable" do
|
||||
@mock.expects(:post).once.
|
||||
with('https://api.stripe.com/v1/plans/test_plan', nil, 'metadata[foo]=bar').
|
||||
returns(make_response(make_plan(metadata: {foo: 'bar'})))
|
||||
p = Stripe::Plan.update("test_plan", metadata: {foo: 'bar'})
|
||||
assert_equal('bar', p.metadata['foo'])
|
||||
stub_request(:post, "#{Stripe.api_base}/v1/plans/test_plan").
|
||||
with(body: { metadata: { foo: "bar" } }).
|
||||
to_return(body: make_response(make_plan))
|
||||
_ = Stripe::Plan.update("test_plan", metadata: {foo: 'bar'})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -3,7 +3,8 @@ require File.expand_path('../../test_helper', __FILE__)
|
||||
module Stripe
|
||||
class ProductTest < Test::Unit::TestCase
|
||||
should "products should be listable" do
|
||||
@mock.expects(:get).once.returns(make_response(make_product_array))
|
||||
stub_request(:get, "#{Stripe.api_base}/v1/products").
|
||||
to_return(body: make_response(make_product_array))
|
||||
products = Stripe::Product.list
|
||||
assert products.data.kind_of?(Array)
|
||||
products.each do |product|
|
||||
@ -12,40 +13,33 @@ module Stripe
|
||||
end
|
||||
|
||||
should "products should be deletable" do
|
||||
@mock.expects(:get).once.returns(make_response(make_product))
|
||||
@mock.expects(:delete).once.
|
||||
returns(make_response(make_product(:deleted => true)))
|
||||
|
||||
stub_request(:get, "#{Stripe.api_base}/v1/products/test_product").
|
||||
to_return(body: make_response(make_product))
|
||||
p = Stripe::Product.retrieve("test_product")
|
||||
|
||||
stub_request(:delete, "#{Stripe.api_base}/v1/products/#{p.id}").
|
||||
to_return(body: make_response(make_product))
|
||||
p.delete
|
||||
assert p.deleted
|
||||
end
|
||||
|
||||
should "products should be saveable" do
|
||||
@mock.expects(:get).once.returns(make_response(make_product))
|
||||
@mock.expects(:post).once.returns(make_response(make_product))
|
||||
stub_request(:get, "#{Stripe.api_base}/v1/products/test_product").
|
||||
to_return(body: make_response(make_product))
|
||||
p = Stripe::Product.new("test_product")
|
||||
p.refresh
|
||||
p.description = "New product description"
|
||||
|
||||
stub_request(:post, "#{Stripe.api_base}/v1/products/#{p.id}").
|
||||
with(body: { :description => "update" }).
|
||||
to_return(body: make_response(make_product))
|
||||
p.description = "update"
|
||||
p.save
|
||||
end
|
||||
|
||||
should "products should be updateable" do
|
||||
@mock.expects(:post).once.
|
||||
with('https://api.stripe.com/v1/products/test_product', nil, 'description=update').
|
||||
returns(make_response(make_product(description: 'update')))
|
||||
p = Stripe::Product.update("test_product", description: 'update')
|
||||
assert_equal('update', p.description)
|
||||
stub_request(:post, "#{Stripe.api_base}/v1/products/test_product").
|
||||
with(body: { :description => "update" }).
|
||||
to_return(body: make_response(make_product))
|
||||
_ = Stripe::Product.update("test_product", description: "update")
|
||||
end
|
||||
|
||||
should "products should allow metadata updates" do
|
||||
@mock.expects(:get).once.returns(make_response(make_product))
|
||||
@mock.expects(:post).once.returns(make_response(make_product))
|
||||
p = Stripe::Product.new("test_product")
|
||||
p.refresh
|
||||
p.metadata['key'] = 'value'
|
||||
p.save
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
@ -378,18 +378,6 @@ module Stripe
|
||||
}.merge(params)
|
||||
end
|
||||
|
||||
def make_paid_invoice
|
||||
make_invoice.merge({
|
||||
:attempt_count => 1,
|
||||
:attempted => true,
|
||||
:closed => true,
|
||||
:paid => true,
|
||||
:charge => 'ch_test_charge',
|
||||
:ending_balance => 0,
|
||||
:next_payment_attempt => nil,
|
||||
})
|
||||
end
|
||||
|
||||
def make_invoice_item(params={})
|
||||
{
|
||||
id: "ii_test_invoice_item",
|
||||
|
Loading…
x
Reference in New Issue
Block a user