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

65 lines
2.1 KiB
Ruby

require File.expand_path("../../test_helper", __FILE__)
module Stripe
class FileUploadTest < Test::Unit::TestCase
# Note that these tests are written different from others because we
# don't have anything on the uploads service in our OpenAPI spec. This is
# something that should be looked into at some point. We may need to ship
# a separate spec for it though, so it's high effort with low reward for
# the time being.
FIXTURE = {
id: "file_123",
object: "file_upload",
}.freeze
should "be listable" do
stub_request(:get, "#{Stripe.uploads_base}/v1/files")
.to_return(body: JSON.generate(data: [FIXTURE],
object: "list",
resource_url: "/v1/files"))
files = Stripe::FileUpload.list
assert files.data.is_a?(Array)
assert files.data[0].is_a?(Stripe::FileUpload)
end
should "be retrievable" do
stub_request(:get, "#{Stripe.uploads_base}/v1/files/file_123")
.to_return(body: JSON.generate(FIXTURE))
file = Stripe::FileUpload.retrieve("file_123")
assert file.is_a?(Stripe::FileUpload)
end
should "be creatable" do
stub_request(:post, "#{Stripe.uploads_base}/v1/files")
.with(headers: {
"Content-Type" => /\A#{Faraday::Request::Multipart.mime_type}/,
}) do |request|
request.body =~ /FileUploadTest/
end.to_return(body: JSON.generate(FIXTURE))
file = Stripe::FileUpload.create(
purpose: "dispute_evidence",
file: File.new(__FILE__)
)
assert file.is_a?(Stripe::FileUpload)
end
should "be creatable with Faraday::UploadIO" do
stub_request(:post, "#{Stripe.uploads_base}/v1/files")
.with(headers: {
"Content-Type" => /\A#{Faraday::Request::Multipart.mime_type}/,
}) do |request|
request.body =~ /FileUploadTest/
end.to_return(body: JSON.generate(FIXTURE))
file = Stripe::FileUpload.create(
purpose: "dispute_evidence",
file: Faraday::UploadIO.new(File.new(__FILE__), nil)
)
assert file.is_a?(Stripe::FileUpload)
end
end
end