test/stripe/api_resource_test.rb in stripe-1.16.0 vs test/stripe/api_resource_test.rb in stripe-1.16.1

- old
+ new

@@ -61,14 +61,33 @@ Stripe::Customer.retrieve("failing_customer") rescue Stripe::AuthenticationError => e assert_equal(401, e.http_status) assert_equal(true, !!e.http_body) assert_equal(true, !!e.json_body[:error][:message]) - assert_equal(test_invalid_api_key_error['error']['message'], e.json_body[:error][:message]) + assert_equal(test_invalid_api_key_error[:error][:message], e.json_body[:error][:message]) end end + should "send stripe account as header when set" do + stripe_account = "acct_0000" + Stripe.expects(:execute_request).with do |opts| + opts[:headers][:stripe_account] == stripe_account + end.returns(test_response(test_charge)) + + Stripe::Charge.create({:card => {:number => '4242424242424242'}}, + {:stripe_account => stripe_account, :api_key => 'sk_test_local'}) + end + + should "not send stripe account as header when not set" do + Stripe.expects(:execute_request).with do |opts| + opts[:headers][:stripe_account].nil? + end.returns(test_response(test_charge)) + + Stripe::Charge.create({:card => {:number => '4242424242424242'}}, + 'sk_test_local') + end + context "when specifying per-object credentials" do context "with no global API key set" do should "use the per-object credential when creating" do Stripe.expects(:execute_request).with do |opts| opts[:headers][:authorization] == 'Bearer sk_test_local' @@ -112,9 +131,20 @@ end end end context "with valid credentials" do + should "send along the idempotency-key header" do + Stripe.expects(:execute_request).with do |opts| + opts[:headers][:idempotency_key] == 'bar' + end.returns(test_response(test_charge)) + + Stripe::Charge.create({:card => {:number => '4242424242424242'}}, { + :idempotency_key => 'bar', + :api_key => 'local', + }) + end + should "urlencode values in GET params" do response = test_response(test_charge_array) @mock.expects(:get).with("#{Stripe.api_base}/v1/charges?customer=test%20customer", nil, nil).returns(response) charges = Stripe::Charge.all(:customer => 'test customer').data assert charges.kind_of? Array