stripe-ruby/test/stripe/order_test.rb
2017-09-27 21:28:25 +02:00

58 lines
1.6 KiB
Ruby

require File.expand_path("../../test_helper", __FILE__)
module Stripe
class OrderTest < Test::Unit::TestCase
should "be listable" do
orders = Stripe::Order.list
assert_requested :get, "#{Stripe.api_base}/v1/orders"
assert orders.data.is_a?(Array)
assert orders.first.is_a?(Stripe::Order)
end
should "be retrievable" do
order = Stripe::Order.retrieve("or_123")
assert_requested :get, "#{Stripe.api_base}/v1/orders/or_123"
assert order.is_a?(Stripe::Order)
end
should "be creatable" do
order = Stripe::Order.create(
currency: "USD"
)
assert_requested :post, "#{Stripe.api_base}/v1/orders"
assert order.is_a?(Stripe::Order)
end
should "be saveable" do
order = Stripe::Order.retrieve("or_123")
order.metadata["key"] = "value"
order.save
assert_requested :post, "#{Stripe.api_base}/v1/orders/#{order.id}"
end
should "be updateable" do
order = Stripe::Order.update("or_123", metadata: { key: "value" })
assert_requested :post, "#{Stripe.api_base}/v1/orders/or_123"
assert order.is_a?(Stripe::Order)
end
context "#pay" do
should "pay an order" do
order = Stripe::Order.retrieve("or_123")
order = order.pay(token: "tok_123")
assert order.is_a?(Stripe::Order)
end
end
context "#return_order" do
should "return an order" do
order = Stripe::Order.retrieve("or_123")
order = order.return_order(orders: [
{ parent: "sku_123" },
])
assert order.is_a?(Stripe::OrderReturn)
end
end
end
end