braintree 3.3.0 → 3.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (136) hide show
  1. checksums.yaml +4 -4
  2. data/braintree.gemspec +1 -1
  3. data/lib/braintree.rb +2 -1
  4. data/lib/braintree/account_updater_daily_report.rb +1 -1
  5. data/lib/braintree/address.rb +1 -1
  6. data/lib/braintree/apple_pay.rb +1 -1
  7. data/lib/braintree/apple_pay_card.rb +1 -1
  8. data/lib/braintree/apple_pay_options.rb +1 -1
  9. data/lib/braintree/authorization_adjustment.rb +1 -1
  10. data/lib/braintree/client_token.rb +1 -1
  11. data/lib/braintree/configuration.rb +11 -11
  12. data/lib/braintree/connected_merchant_paypal_status_changed.rb +1 -1
  13. data/lib/braintree/connected_merchant_status_transitioned.rb +1 -1
  14. data/lib/braintree/credit_card.rb +2 -2
  15. data/lib/braintree/credit_card_gateway.rb +3 -3
  16. data/lib/braintree/credit_card_verification.rb +5 -5
  17. data/lib/braintree/credit_card_verification_search.rb +1 -1
  18. data/lib/braintree/customer.rb +2 -2
  19. data/lib/braintree/customer_search.rb +1 -1
  20. data/lib/braintree/disbursement.rb +1 -1
  21. data/lib/braintree/dispute.rb +1 -1
  22. data/lib/braintree/dispute_gateway.rb +2 -2
  23. data/lib/braintree/dispute_search.rb +2 -2
  24. data/lib/braintree/document_upload.rb +1 -1
  25. data/lib/braintree/error_codes.rb +7 -0
  26. data/lib/braintree/google_pay_card.rb +1 -1
  27. data/lib/braintree/granted_payment_instrument_update.rb +1 -1
  28. data/lib/braintree/graphql_client.rb +7 -7
  29. data/lib/braintree/http.rb +3 -3
  30. data/lib/braintree/local_payment_completed.rb +1 -1
  31. data/lib/braintree/local_payment_reversed.rb +19 -0
  32. data/lib/braintree/merchant.rb +1 -1
  33. data/lib/braintree/merchant_account.rb +1 -1
  34. data/lib/braintree/merchant_account_gateway.rb +1 -1
  35. data/lib/braintree/merchant_gateway.rb +1 -1
  36. data/lib/braintree/modification.rb +1 -1
  37. data/lib/braintree/oauth_credentials.rb +1 -1
  38. data/lib/braintree/oauth_gateway.rb +5 -5
  39. data/lib/braintree/payment_instrument_type.rb +10 -10
  40. data/lib/braintree/payment_method_gateway.rb +3 -3
  41. data/lib/braintree/payment_method_nonce_gateway.rb +1 -1
  42. data/lib/braintree/plan.rb +1 -1
  43. data/lib/braintree/processor_response_types.rb +3 -3
  44. data/lib/braintree/revoked_payment_method_metadata.rb +1 -1
  45. data/lib/braintree/samsung_pay_card.rb +1 -1
  46. data/lib/braintree/settlement_batch_summary.rb +2 -2
  47. data/lib/braintree/subscription.rb +6 -6
  48. data/lib/braintree/transaction.rb +32 -24
  49. data/lib/braintree/transaction_gateway.rb +23 -4
  50. data/lib/braintree/transaction_line_item.rb +1 -1
  51. data/lib/braintree/transaction_search.rb +3 -1
  52. data/lib/braintree/unknown_payment_method.rb +1 -1
  53. data/lib/braintree/us_bank_account.rb +3 -3
  54. data/lib/braintree/us_bank_account_verification.rb +1 -1
  55. data/lib/braintree/us_bank_account_verification_gateway.rb +1 -1
  56. data/lib/braintree/util.rb +4 -4
  57. data/lib/braintree/venmo_account.rb +1 -1
  58. data/lib/braintree/version.rb +1 -1
  59. data/lib/braintree/visa_checkout_card.rb +2 -2
  60. data/lib/braintree/webhook_notification.rb +28 -19
  61. data/lib/braintree/webhook_notification_gateway.rb +5 -5
  62. data/lib/braintree/webhook_testing_gateway.rb +10 -0
  63. data/lib/braintree/xml/generator.rb +5 -4
  64. data/lib/braintree/xml/libxml.rb +1 -1
  65. data/lib/braintree/xml/parser.rb +10 -10
  66. data/spec/integration/braintree/add_on_spec.rb +1 -1
  67. data/spec/integration/braintree/address_spec.rb +24 -24
  68. data/spec/integration/braintree/advanced_search_spec.rb +45 -45
  69. data/spec/integration/braintree/apple_pay_spec.rb +3 -3
  70. data/spec/integration/braintree/braintree_gateway_spec.rb +2 -1
  71. data/spec/integration/braintree/client_api/client_token_spec.rb +14 -14
  72. data/spec/integration/braintree/client_api/spec_helper.rb +5 -5
  73. data/spec/integration/braintree/credit_card_spec.rb +119 -119
  74. data/spec/integration/braintree/credit_card_verification_search_spec.rb +2 -2
  75. data/spec/integration/braintree/credit_card_verification_spec.rb +1 -1
  76. data/spec/integration/braintree/customer_search_spec.rb +8 -8
  77. data/spec/integration/braintree/customer_spec.rb +165 -165
  78. data/spec/integration/braintree/dispute_search_spec.rb +3 -3
  79. data/spec/integration/braintree/dispute_spec.rb +6 -6
  80. data/spec/integration/braintree/error_codes_spec.rb +1 -1
  81. data/spec/integration/braintree/http_spec.rb +2 -2
  82. data/spec/integration/braintree/merchant_account_spec.rb +25 -26
  83. data/spec/integration/braintree/merchant_spec.rb +12 -12
  84. data/spec/integration/braintree/oauth_spec.rb +11 -11
  85. data/spec/integration/braintree/payment_method_nonce_spec.rb +12 -12
  86. data/spec/integration/braintree/payment_method_spec.rb +165 -165
  87. data/spec/integration/braintree/payment_method_us_bank_account_spec.rb +9 -9
  88. data/spec/integration/braintree/paypal_account_spec.rb +28 -28
  89. data/spec/integration/braintree/samsung_pay_card_spec.rb +9 -9
  90. data/spec/integration/braintree/settlement_batch_summary_spec.rb +8 -8
  91. data/spec/integration/braintree/subscription_spec.rb +133 -133
  92. data/spec/integration/braintree/test/transaction_amounts_spec.rb +2 -2
  93. data/spec/integration/braintree/test_transaction_spec.rb +10 -10
  94. data/spec/integration/braintree/transaction_search_spec.rb +93 -67
  95. data/spec/integration/braintree/transaction_spec.rb +498 -344
  96. data/spec/integration/braintree/transaction_us_bank_account_spec.rb +20 -20
  97. data/spec/integration/braintree/us_bank_account_spec.rb +6 -6
  98. data/spec/integration/braintree/us_bank_account_verification_search_spec.rb +7 -7
  99. data/spec/integration/braintree/us_bank_account_verification_spec.rb +8 -8
  100. data/spec/integration/braintree/visa_checkout_card_spec.rb +5 -5
  101. data/spec/integration/spec_helper.rb +2 -2
  102. data/spec/oauth_test_helper.rb +1 -1
  103. data/spec/script/httpsd.rb +6 -6
  104. data/spec/spec_helper.rb +4 -3
  105. data/spec/unit/braintree/address_spec.rb +1 -1
  106. data/spec/unit/braintree/apple_pay_card_spec.rb +1 -1
  107. data/spec/unit/braintree/client_token_spec.rb +2 -2
  108. data/spec/unit/braintree/configuration_spec.rb +42 -42
  109. data/spec/unit/braintree/credit_card_spec.rb +7 -7
  110. data/spec/unit/braintree/credit_card_verification_search_spec.rb +1 -1
  111. data/spec/unit/braintree/credit_card_verification_spec.rb +2 -2
  112. data/spec/unit/braintree/customer_spec.rb +3 -3
  113. data/spec/unit/braintree/disbursement_spec.rb +7 -7
  114. data/spec/unit/braintree/dispute_spec.rb +8 -8
  115. data/spec/unit/braintree/error_result_spec.rb +5 -5
  116. data/spec/unit/braintree/errors_spec.rb +8 -8
  117. data/spec/unit/braintree/http_spec.rb +5 -5
  118. data/spec/unit/braintree/merchant_account_spec.rb +1 -1
  119. data/spec/unit/braintree/payment_method_spec.rb +1 -1
  120. data/spec/unit/braintree/paypal_account_spec.rb +2 -2
  121. data/spec/unit/braintree/resource_collection_spec.rb +9 -9
  122. data/spec/unit/braintree/subscription_search_spec.rb +1 -1
  123. data/spec/unit/braintree/successful_result_spec.rb +1 -1
  124. data/spec/unit/braintree/three_d_secure_info_spec.rb +1 -1
  125. data/spec/unit/braintree/transaction/credit_card_details_spec.rb +3 -3
  126. data/spec/unit/braintree/transaction/customer_details_spec.rb +1 -1
  127. data/spec/unit/braintree/transaction/deposit_details_spec.rb +2 -2
  128. data/spec/unit/braintree/transaction/paypal_details_spec.rb +1 -1
  129. data/spec/unit/braintree/transaction_search_spec.rb +12 -12
  130. data/spec/unit/braintree/transaction_spec.rb +25 -17
  131. data/spec/unit/braintree/util_spec.rb +18 -18
  132. data/spec/unit/braintree/validation_error_collection_spec.rb +36 -36
  133. data/spec/unit/braintree/webhook_notification_spec.rb +72 -56
  134. data/spec/unit/braintree/xml_spec.rb +31 -31
  135. metadata +3 -3
  136. data/lib/braintree/settlement_batch.rb +0 -0
@@ -10,7 +10,7 @@ describe Braintree::ErrorResult do
10
10
  :params => "params",
11
11
  :errors => {:errors => []},
12
12
  :extra => "is ignored",
13
- :message => "foo bar"
13
+ :message => "foo bar",
14
14
  )
15
15
  end.to_not raise_error
16
16
  end
@@ -36,7 +36,7 @@ describe Braintree::ErrorResult do
36
36
  :params => "params",
37
37
  :errors => {},
38
38
  :verification => {},
39
- :transaction => nil
39
+ :transaction => nil,
40
40
  )
41
41
  result.inspect.should include("credit_card_verification: #<Braintree::CreditCardVerification status: ")
42
42
  end
@@ -47,7 +47,7 @@ describe Braintree::ErrorResult do
47
47
  :params => "params",
48
48
  :errors => {},
49
49
  :verification => nil,
50
- :transaction => nil
50
+ :transaction => nil,
51
51
  )
52
52
  result.inspect.should_not include("credit_card_verification")
53
53
  end
@@ -58,7 +58,7 @@ describe Braintree::ErrorResult do
58
58
  :params => "params",
59
59
  :errors => {},
60
60
  :verification => nil,
61
- :transaction => {}
61
+ :transaction => {},
62
62
  )
63
63
  result.inspect.should include("transaction: #<Braintree::Transaction id: ")
64
64
  end
@@ -69,7 +69,7 @@ describe Braintree::ErrorResult do
69
69
  :params => "params",
70
70
  :errors => {},
71
71
  :verification => nil,
72
- :transaction => nil
72
+ :transaction => nil,
73
73
  )
74
74
  result.inspect.should_not include("transaction")
75
75
  end
@@ -4,7 +4,7 @@ describe Braintree::Errors do
4
4
  describe "for" do
5
5
  it "accesses errors for the given scope" do
6
6
  errors = Braintree::Errors.new(
7
- :level1 => {:errors => [{:code => "code1", :attribute => "attr", :message => "message"}]}
7
+ :level1 => {:errors => [{:code => "code1", :attribute => "attr", :message => "message"}]},
8
8
  )
9
9
  errors.for(:level1).size.should == 1
10
10
  errors.for(:level1)[0].code.should == "code1"
@@ -12,7 +12,7 @@ describe Braintree::Errors do
12
12
 
13
13
  it "returns nil if there are no errors at the given scope" do
14
14
  errors = Braintree::Errors.new(
15
- :level1 => {:errors => [{:code => "code1", :attribute => "attr", :message => "message"}]}
15
+ :level1 => {:errors => [{:code => "code1", :attribute => "attr", :message => "message"}]},
16
16
  )
17
17
  errors.for(:no_errors_here).should == nil
18
18
  end
@@ -21,7 +21,7 @@ describe Braintree::Errors do
21
21
  describe "inspect" do
22
22
  it "is better than the default inspect" do
23
23
  errors = Braintree::Errors.new(
24
- :level1 => {:errors => [{:code => "code1", :attribute => "attr", :message => "message"}]}
24
+ :level1 => {:errors => [{:code => "code1", :attribute => "attr", :message => "message"}]},
25
25
  )
26
26
  errors.inspect.should == "#<Braintree::Errors level1:[(code1) message]>"
27
27
  end
@@ -33,7 +33,7 @@ describe Braintree::Errors do
33
33
  :level2 => {
34
34
  :errors => [{:code => "code2", :attribute => "attr2", :message => "message2"}],
35
35
  }
36
- }
36
+ },
37
37
  )
38
38
  errors.inspect.should == "#<Braintree::Errors level1:[(code1) message], level1/level2:[(code2) message2]>"
39
39
  end
@@ -48,7 +48,7 @@ describe Braintree::Errors do
48
48
  :errors => [{:code => "code3", :attribute => "attr3", :message => "message3"}],
49
49
  }
50
50
  }
51
- }
51
+ },
52
52
  )
53
53
  errors.inspect.should == "#<Braintree::Errors level1:[(code1) message], level1/level2:[(code2) message2], level1/level2/level3:[(code3) message3]>"
54
54
  end
@@ -65,7 +65,7 @@ describe Braintree::Errors do
65
65
  {:code => "3", :attribute => "attr3", :message => "message3"}
66
66
  ],
67
67
  }
68
- }
68
+ },
69
69
  )
70
70
  errors.map { |e| e.code }.sort.should == %w[1 2 3]
71
71
  end
@@ -74,7 +74,7 @@ describe Braintree::Errors do
74
74
  describe "size" do
75
75
  it "returns the number of validation errors at the first level if only has one level" do
76
76
  errors = Braintree::Errors.new(
77
- :level1 => {:errors => [{:code => "1", :attribute => "attr", :message => "message"}]}
77
+ :level1 => {:errors => [{:code => "1", :attribute => "attr", :message => "message"}]},
78
78
  )
79
79
  errors.size.should == 1
80
80
  end
@@ -89,7 +89,7 @@ describe Braintree::Errors do
89
89
  {:code => "3", :attribute => "attr3", :message => "message3"}
90
90
  ],
91
91
  }
92
- }
92
+ },
93
93
  )
94
94
  errors.size.should == 3
95
95
  end
@@ -67,7 +67,7 @@ END
67
67
  :proxy_address => "localhost",
68
68
  :proxy_port => 8080,
69
69
  :proxy_user => "user",
70
- :proxy_pass => "test"
70
+ :proxy_pass => "test",
71
71
  )
72
72
 
73
73
  http = Braintree::Http.new(config)
@@ -75,7 +75,7 @@ END
75
75
  "Net::HTTP",
76
76
  :open_timeout= => nil,
77
77
  :read_timeout= => nil,
78
- :start => nil
78
+ :start => nil,
79
79
  )
80
80
 
81
81
  Net::HTTP.should_receive(:new).with(nil, nil, "localhost", 8080, "user", "test").and_return(net_http_instance)
@@ -86,7 +86,7 @@ END
86
86
  it "accepts a partially specified proxy" do
87
87
  config = Braintree::Configuration.new(
88
88
  :proxy_address => "localhost",
89
- :proxy_port => 8080
89
+ :proxy_port => 8080,
90
90
  )
91
91
 
92
92
  http = Braintree::Http.new(config)
@@ -94,7 +94,7 @@ END
94
94
  "Net::HTTP",
95
95
  :open_timeout= => nil,
96
96
  :read_timeout= => nil,
97
- :start => nil
97
+ :start => nil,
98
98
  )
99
99
 
100
100
  Net::HTTP.should_receive(:new).with(nil, nil, "localhost", 8080, nil, nil).and_return(net_http_instance)
@@ -109,7 +109,7 @@ END
109
109
  "Net::HTTP",
110
110
  :open_timeout= => nil,
111
111
  :read_timeout= => nil,
112
- :start => nil
112
+ :start => nil,
113
113
  )
114
114
 
115
115
  Net::HTTP.should_receive(:new).with(nil, nil).and_return(net_http_instance)
@@ -13,7 +13,7 @@ describe Braintree::MerchantAccount do
13
13
  nil,
14
14
  :id => "merchant_account",
15
15
  :status => "active",
16
- :master_merchant_account => {:id => "master_merchant_account", :status => "active", :master_merchant_account => nil}
16
+ :master_merchant_account => {:id => "master_merchant_account", :status => "active", :master_merchant_account => nil},
17
17
  )
18
18
 
19
19
  master_merchant_account = "#<Braintree::MerchantAccount: id: \"master_merchant_account\", status: \"active\", master_merchant_account: nil>"
@@ -28,7 +28,7 @@ describe Braintree::PaymentMethod do
28
28
  end
29
29
 
30
30
  describe "delete" do
31
- let(:http_stub) { double('http_stub').as_null_object }
31
+ let(:http_stub) { double("http_stub").as_null_object }
32
32
  it "accepts revoke_all_grants option with value true" do
33
33
  Braintree::Http.stub(:new).and_return http_stub
34
34
  http_stub.should_receive(:delete).with("/merchants/integration_merchant_id/payment_methods/any/some_token?revoke_all_grants=true")
@@ -8,7 +8,7 @@ describe Braintree::PayPalAccount do
8
8
  :invalid_key => "bad stuff",
9
9
  :options => {
10
10
  :invalid_option => "bad option",
11
- }
11
+ },
12
12
  )
13
13
  end.to raise_error(ArgumentError, "invalid keys: invalid_key, options[invalid_option]")
14
14
  end
@@ -17,7 +17,7 @@ describe Braintree::PayPalAccount do
17
17
  describe "self.update" do
18
18
  it "raises an exception if attributes contain an invalid key" do
19
19
  expect do
20
- Braintree::PayPalAccount.update("some_token", :invalid_key => 'val')
20
+ Braintree::PayPalAccount.update("some_token", :invalid_key => "val")
21
21
  end.to raise_error(ArgumentError, "invalid keys: invalid_key")
22
22
  end
23
23
  end
@@ -5,7 +5,7 @@ describe "Braintree::ResourceCollection" do
5
5
  it "iterates over the elements, yielding to the block in pages" do
6
6
  values = %w(a b c d e)
7
7
  collection = Braintree::ResourceCollection.new(:search_results => {:ids => [0,1,2,3,4], :page_size => 2}) do |ids|
8
- ids.map {|id| values[id] }
8
+ ids.map { |id| values[id] }
9
9
  end
10
10
 
11
11
  count = 0
@@ -19,30 +19,30 @@ describe "Braintree::ResourceCollection" do
19
19
  end
20
20
 
21
21
  describe "#first" do
22
- it 'returns nil with no results' do
22
+ it "returns nil with no results" do
23
23
  values = %w(a b c d e)
24
24
  collection = Braintree::ResourceCollection.new(:search_results => {:ids => [], :page_size => 2}) do |ids|
25
- ids.map {|id| values[id] }
25
+ ids.map { |id| values[id] }
26
26
  end
27
27
 
28
28
  collection.first.should == nil
29
29
  end
30
30
 
31
- context 'with results' do
31
+ context "with results" do
32
32
  let(:collection) do
33
33
  values = %w(a b c d e)
34
34
 
35
35
  Braintree::ResourceCollection.new(:search_results => {:ids => [0,1,2,3,4], :page_size => 2}) do |ids|
36
- ids.map {|id| values[id] }
36
+ ids.map { |id| values[id] }
37
37
  end
38
38
  end
39
39
 
40
- it 'returns the first occourence' do
41
- collection.first.should == 'a'
40
+ it "returns the first occourence" do
41
+ collection.first.should == "a"
42
42
  end
43
43
 
44
- it 'returns the first N occourences' do
45
- collection.first(4).should == ['a','b','c','d']
44
+ it "returns the first N occourences" do
45
+ collection.first(4).should == ["a","b","c","d"]
46
46
  end
47
47
  end
48
48
  end
@@ -11,7 +11,7 @@ module Braintree
11
11
  Subscription::Status::Active,
12
12
  Subscription::Status::Canceled,
13
13
  Subscription::Status::Expired,
14
- Subscription::Status::PastDue
14
+ Subscription::Status::PastDue,
15
15
  )
16
16
  end.should_not raise_error
17
17
  end
@@ -5,7 +5,7 @@ describe Braintree::SuccessfulResult do
5
5
  it "sets instance variables from the values in the hash" do
6
6
  result = Braintree::SuccessfulResult.new(
7
7
  :transaction => "transaction_value",
8
- :credit_card => "credit_card_value"
8
+ :credit_card => "credit_card_value",
9
9
  )
10
10
  result.success?.should == true
11
11
  result.transaction.should == "transaction_value"
@@ -23,7 +23,7 @@ describe Braintree::ThreeDSecureInfo do
23
23
  :lookup => {
24
24
  :trans_status => "lookupstatus",
25
25
  :trans_status_reason => "lookupstatusreason"
26
- }
26
+ },
27
27
  )
28
28
  }
29
29
 
@@ -5,7 +5,7 @@ describe Braintree::Transaction::CreditCardDetails do
5
5
  it "concats expiration_month and expiration_year" do
6
6
  details = Braintree::Transaction::CreditCardDetails.new(
7
7
  :expiration_month => "08",
8
- :expiration_year => "2009"
8
+ :expiration_year => "2009",
9
9
  )
10
10
  details.expiration_date.should == "08/2009"
11
11
  end
@@ -32,7 +32,7 @@ describe Braintree::Transaction::CreditCardDetails do
32
32
  :country_of_issuance => "Lilliput",
33
33
  :issuing_bank => "Gulliver Bank",
34
34
  :image_url => "example.com/visa.png",
35
- :unique_number_identifier => "abc123"
35
+ :unique_number_identifier => "abc123",
36
36
  )
37
37
  details.inspect.should == %(#<token: "token", bin: "123456", last_4: "6789", card_type: "Visa", expiration_date: "05/2012", cardholder_name: "The Cardholder", customer_location: "US", prepaid: "Yes", healthcare: "No", durbin_regulated: "No", debit: "Yes", commercial: "Unknown", payroll: "Unknown", product_id: "Unknown", country_of_issuance: "Lilliput", issuing_bank: "Gulliver Bank", image_url: "example.com/visa.png", unique_number_identifier: "abc123">)
38
38
  end
@@ -41,7 +41,7 @@ describe Braintree::Transaction::CreditCardDetails do
41
41
  describe "masked_number" do
42
42
  it "concatenates the bin, some *'s, and the last_4" do
43
43
  details = Braintree::Transaction::CreditCardDetails.new(
44
- :bin => "510510", :last_4 => "5100"
44
+ :bin => "510510", :last_4 => "5100",
45
45
  )
46
46
  details.masked_number.should == "510510******5100"
47
47
  end
@@ -11,7 +11,7 @@ describe Braintree::Transaction::CustomerDetails do
11
11
  :company => "Smith Co.",
12
12
  :website => "http://www.example.com",
13
13
  :phone => "6145551234",
14
- :fax => "3125551234"
14
+ :fax => "3125551234",
15
15
  )
16
16
  details.inspect.should == %(#<id: "id", first_name: "Amy", last_name: "Smith", email: "amy.smith@example.com", company: "Smith Co.", website: "http://www.example.com", phone: "6145551234", fax: "3125551234">)
17
17
  end
@@ -4,13 +4,13 @@ describe Braintree::Transaction::DisbursementDetails do
4
4
  describe "valid?" do
5
5
  it "returns true if disbursement details are initialized" do
6
6
  details = Braintree::Transaction::DisbursementDetails.new(
7
- :disbursement_date => Date.new(2013, 4, 1)
7
+ :disbursement_date => Date.new(2013, 4, 1),
8
8
  )
9
9
  details.valid?.should == true
10
10
  end
11
11
  it "returns true if disbursement details are initialized" do
12
12
  details = Braintree::Transaction::DisbursementDetails.new(
13
- :disbursement_date => nil
13
+ :disbursement_date => nil,
14
14
  )
15
15
  details.valid?.should == false
16
16
  end
@@ -27,7 +27,7 @@ describe Braintree::Transaction::PayPalDetails do
27
27
  :seller_protection_status => "seller-protection-status",
28
28
  :token => "token",
29
29
  :transaction_fee_amount => "2.00",
30
- :transaction_fee_currency_iso_code => "123"
30
+ :transaction_fee_currency_iso_code => "123",
31
31
  )
32
32
 
33
33
  expect(details.authorization_id).to eq("id")
@@ -1,19 +1,19 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
2
 
3
3
  describe Braintree::TransactionSearch do
4
- it "overrides previous 'is' with new 'is' for the same field" do
5
- search = Braintree::TransactionSearch.new
6
- search.billing_company.is "one"
7
- search.billing_company.is "two"
8
- search.to_hash.should == {:billing_company => {:is => "two"}}
9
- end
4
+ it "overrides previous 'is' with new 'is' for the same field" do
5
+ search = Braintree::TransactionSearch.new
6
+ search.billing_company.is "one"
7
+ search.billing_company.is "two"
8
+ search.to_hash.should == {:billing_company => {:is => "two"}}
9
+ end
10
10
 
11
- it "overrides previous 'in' with new 'in' for the same field" do
12
- search = Braintree::TransactionSearch.new
13
- search.status.in Braintree::Transaction::Status::Authorized
14
- search.status.in Braintree::Transaction::Status::SubmittedForSettlement
15
- search.to_hash.should == {:status => [Braintree::Transaction::Status::SubmittedForSettlement]}
16
- end
11
+ it "overrides previous 'in' with new 'in' for the same field" do
12
+ search = Braintree::TransactionSearch.new
13
+ search.status.in Braintree::Transaction::Status::Authorized
14
+ search.status.in Braintree::Transaction::Status::SubmittedForSettlement
15
+ search.to_hash.should == {:status => [Braintree::Transaction::Status::SubmittedForSettlement]}
16
+ end
17
17
 
18
18
  it "raises if the operator 'is' is left off" do
19
19
  search = Braintree::TransactionSearch.new
@@ -45,6 +45,14 @@ describe Braintree::Transaction do
45
45
  end
46
46
  end
47
47
 
48
+ describe "self.adjust_authorization" do
49
+ it "raises an ArgumentError if transaction_id is an invalid format" do
50
+ expect do
51
+ Braintree::Transaction.adjust_authorization("invalid-transaction-id", "10.00")
52
+ end.to raise_error(ArgumentError, "transaction_id is invalid")
53
+ end
54
+ end
55
+
48
56
  describe "self.update_details" do
49
57
  it "raises an ArgumentError if transaction_id is an invalid format" do
50
58
  expect do
@@ -66,7 +74,7 @@ describe Braintree::Transaction do
66
74
  :website => "lednerllc.com",
67
75
  :phone => "1-999-652-4189 x56883",
68
76
  :fax => "012-161-8055"
69
- }
77
+ },
70
78
  )
71
79
  transaction.customer_details.id.should == "123"
72
80
  transaction.customer_details.first_name.should == "Adam"
@@ -88,7 +96,7 @@ describe Braintree::Transaction do
88
96
  :settlement_currency_exchange_rate => "1",
89
97
  :funds_held => false,
90
98
  :success => true
91
- }
99
+ },
92
100
  )
93
101
  disbursement = transaction.disbursement_details
94
102
  disbursement.disbursement_date.should == Date.parse("2013-04-03")
@@ -119,7 +127,7 @@ describe Braintree::Transaction do
119
127
  :product_id => "Unknown",
120
128
  :country_of_issuance => "Narnia",
121
129
  :issuing_bank => "Mr Tumnus"
122
- }
130
+ },
123
131
  )
124
132
  transaction.credit_card_details.token.should == "mzg2"
125
133
  transaction.credit_card_details.bin.should == "411111"
@@ -147,7 +155,7 @@ describe Braintree::Transaction do
147
155
  :liability_shifted => true,
148
156
  :liability_shift_possible => true,
149
157
  :status => "authenticate_successful",
150
- }
158
+ },
151
159
  )
152
160
 
153
161
  transaction.three_d_secure_info.enrolled.should == "Y"
@@ -161,9 +169,9 @@ describe Braintree::Transaction do
161
169
  transaction = Braintree::Transaction._new(
162
170
  :gateway,
163
171
  :status_history => [
164
- { :timestamp => time, :amount => "12.00", :transaction_source => "API",
165
- :user => "larry", :status => Braintree::Transaction::Status::Authorized },
166
- { :timestamp => Time.utc(2010,1,15), :amount => "12.00", :transaction_source => "API",
172
+ {:timestamp => time, :amount => "12.00", :transaction_source => "API",
173
+ :user => "larry", :status => Braintree::Transaction::Status::Authorized},
174
+ {:timestamp => Time.utc(2010,1,15), :amount => "12.00", :transaction_source => "API",
167
175
  :user => "curly", :status => "scheduled_for_settlement"}
168
176
  ])
169
177
  transaction.status_history.size.should == 2
@@ -180,8 +188,8 @@ describe Braintree::Transaction do
180
188
  transaction = Braintree::Transaction._new(
181
189
  :gateway,
182
190
  :authorization_adjustments => [
183
- { :timestamp => timestamp, :processor_response_code => "1000", :processor_response_text => "Approved", :amount => "12.00", :success => true },
184
- { :timestamp => timestamp, :processor_response_code => "3000", :processor_response_text => "Processor Network Unavailable - Try Again", :amount => "12.34", :success => false },
191
+ {:timestamp => timestamp, :processor_response_code => "1000", :processor_response_text => "Approved", :amount => "12.00", :success => true},
192
+ {:timestamp => timestamp, :processor_response_code => "3000", :processor_response_text => "Processor Network Unavailable - Try Again", :amount => "12.34", :success => false},
185
193
  ])
186
194
  transaction.authorization_adjustments.size.should == 2
187
195
  transaction.authorization_adjustments[0].amount.should == "12.00"
@@ -199,7 +207,7 @@ describe Braintree::Transaction do
199
207
  it "handles receiving custom as an empty string" do
200
208
  transaction = Braintree::Transaction._new(
201
209
  :gateway,
202
- :custom => "\n "
210
+ :custom => "\n ",
203
211
  )
204
212
  end
205
213
 
@@ -217,7 +225,7 @@ describe Braintree::Transaction do
217
225
  it "handles nil risk_data" do
218
226
  transaction = Braintree::Transaction._new(
219
227
  :gateway,
220
- :risk_data => nil
228
+ :risk_data => nil,
221
229
  )
222
230
  transaction.risk_data.should be_nil
223
231
  end
@@ -225,7 +233,7 @@ describe Braintree::Transaction do
225
233
  it "accepts network_transaction_id" do
226
234
  transaction = Braintree::Transaction._new(
227
235
  :gateway,
228
- :network_transaction_id => "123456789012345"
236
+ :network_transaction_id => "123456789012345",
229
237
  )
230
238
  transaction.network_transaction_id.should == "123456789012345"
231
239
  end
@@ -307,8 +315,8 @@ describe Braintree::Transaction do
307
315
  end
308
316
 
309
317
  describe "sale" do
310
- let(:mock_response) { {:transaction => {}}}
311
- let(:http_stub) { double('http_stub').as_null_object }
318
+ let(:mock_response) { {:transaction => {}} }
319
+ let(:http_stub) { double("http_stub").as_null_object }
312
320
 
313
321
  RSpec::Matchers.define :skip_advanced_fraud_check_value_is do |value|
314
322
  match { |params| params[:transaction][:options][:skip_advanced_fraud_checking] == value }
@@ -326,7 +334,7 @@ describe Braintree::Transaction do
326
334
  },
327
335
  :options => {
328
336
  :skip_advanced_fraud_checking => true
329
- }
337
+ },
330
338
  )
331
339
  end
332
340
 
@@ -342,7 +350,7 @@ describe Braintree::Transaction do
342
350
  },
343
351
  :options => {
344
352
  :skip_advanced_fraud_checking => false
345
- }
353
+ },
346
354
  )
347
355
  end
348
356
 
@@ -358,7 +366,7 @@ describe Braintree::Transaction do
358
366
  },
359
367
  :options => {
360
368
  :submit_for_settlement => false
361
- }
369
+ },
362
370
  )
363
371
  end
364
372
  end