braintree 4.14.0 → 4.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (112) hide show
  1. checksums.yaml +4 -4
  2. data/lib/braintree/credit_card.rb +13 -0
  3. data/lib/braintree/credit_card_gateway.rb +15 -3
  4. data/lib/braintree/payment_method_gateway.rb +15 -3
  5. data/lib/braintree/test/nonce.rb +1 -0
  6. data/lib/braintree/test/venmo_sdk.rb +2 -0
  7. data/lib/braintree/transaction/credit_card_details.rb +3 -0
  8. data/lib/braintree/transaction/local_payment_details.rb +2 -0
  9. data/lib/braintree/transaction.rb +5 -4
  10. data/lib/braintree/transaction_gateway.rb +15 -3
  11. data/lib/braintree/transaction_search.rb +6 -5
  12. data/lib/braintree/version.rb +1 -1
  13. data/lib/braintree/webhook_notification.rb +1 -0
  14. data/lib/braintree/webhook_testing_gateway.rb +17 -0
  15. data/spec/integration/braintree/add_on_spec.rb +9 -9
  16. data/spec/integration/braintree/address_spec.rb +69 -69
  17. data/spec/integration/braintree/advanced_search_spec.rb +45 -45
  18. data/spec/integration/braintree/apple_pay_spec.rb +8 -8
  19. data/spec/integration/braintree/client_api/client_token_spec.rb +15 -15
  20. data/spec/integration/braintree/credit_card_spec.rb +223 -223
  21. data/spec/integration/braintree/credit_card_verification_search_spec.rb +16 -16
  22. data/spec/integration/braintree/credit_card_verification_spec.rb +52 -52
  23. data/spec/integration/braintree/customer_search_spec.rb +20 -20
  24. data/spec/integration/braintree/customer_spec.rb +313 -313
  25. data/spec/integration/braintree/disbursement_spec.rb +2 -2
  26. data/spec/integration/braintree/discount_spec.rb +9 -9
  27. data/spec/integration/braintree/dispute_spec.rb +87 -87
  28. data/spec/integration/braintree/document_upload_spec.rb +17 -17
  29. data/spec/integration/braintree/error_codes_spec.rb +2 -2
  30. data/spec/integration/braintree/http_spec.rb +28 -28
  31. data/spec/integration/braintree/merchant_account_spec.rb +127 -127
  32. data/spec/integration/braintree/merchant_spec.rb +103 -103
  33. data/spec/integration/braintree/oauth_spec.rb +61 -61
  34. data/spec/integration/braintree/payment_method_nonce_spec.rb +73 -73
  35. data/spec/integration/braintree/payment_method_spec.rb +389 -389
  36. data/spec/integration/braintree/payment_method_us_bank_account_spec.rb +78 -78
  37. data/spec/integration/braintree/paypal_account_spec.rb +38 -38
  38. data/spec/integration/braintree/plan_spec.rb +15 -15
  39. data/spec/integration/braintree/samsung_pay_card_spec.rb +65 -65
  40. data/spec/integration/braintree/sepa_direct_debit_account_spec.rb +51 -51
  41. data/spec/integration/braintree/settlement_batch_summary_spec.rb +11 -11
  42. data/spec/integration/braintree/subscription_spec.rb +364 -364
  43. data/spec/integration/braintree/test/transaction_amounts_spec.rb +2 -2
  44. data/spec/integration/braintree/test_transaction_spec.rb +19 -19
  45. data/spec/integration/braintree/transaction_line_item_spec.rb +6 -6
  46. data/spec/integration/braintree/transaction_search_spec.rb +198 -165
  47. data/spec/integration/braintree/transaction_spec.rb +1315 -1149
  48. data/spec/integration/braintree/transaction_us_bank_account_spec.rb +32 -32
  49. data/spec/integration/braintree/us_bank_account_spec.rb +30 -30
  50. data/spec/integration/braintree/us_bank_account_verification_search_spec.rb +18 -18
  51. data/spec/integration/braintree/us_bank_account_verification_spec.rb +33 -33
  52. data/spec/integration/braintree/visa_checkout_card_spec.rb +57 -57
  53. data/spec/spec_helper.rb +9 -8
  54. data/spec/unit/braintree/address_spec.rb +8 -8
  55. data/spec/unit/braintree/base_module_spec.rb +4 -4
  56. data/spec/unit/braintree/client_token_spec.rb +2 -2
  57. data/spec/unit/braintree/configuration_spec.rb +57 -57
  58. data/spec/unit/braintree/credentials_parser_spec.rb +6 -6
  59. data/spec/unit/braintree/credit_card_spec.rb +31 -29
  60. data/spec/unit/braintree/credit_card_verification_gateway_spec.rb +28 -28
  61. data/spec/unit/braintree/credit_card_verification_search_spec.rb +9 -9
  62. data/spec/unit/braintree/credit_card_verification_spec.rb +17 -17
  63. data/spec/unit/braintree/customer_spec.rb +41 -40
  64. data/spec/unit/braintree/digest_spec.rb +5 -5
  65. data/spec/unit/braintree/disbursement_spec.rb +11 -11
  66. data/spec/unit/braintree/dispute_search_spec.rb +2 -2
  67. data/spec/unit/braintree/dispute_spec.rb +56 -56
  68. data/spec/unit/braintree/document_upload_spec.rb +8 -8
  69. data/spec/unit/braintree/enriched_customer_data_spec.rb +2 -2
  70. data/spec/unit/braintree/error_result_spec.rb +5 -5
  71. data/spec/unit/braintree/errors_spec.rb +9 -9
  72. data/spec/unit/braintree/http_spec.rb +8 -8
  73. data/spec/unit/braintree/local_payment_completed_spec.rb +11 -11
  74. data/spec/unit/braintree/local_payment_expired_spec.rb +2 -2
  75. data/spec/unit/braintree/local_payment_funded_spec.rb +6 -6
  76. data/spec/unit/braintree/merchant_account_spec.rb +4 -4
  77. data/spec/unit/braintree/modification_spec.rb +1 -1
  78. data/spec/unit/braintree/payment_method_customer_data_updated_metadata_spec.rb +6 -6
  79. data/spec/unit/braintree/payment_method_nonce_details_payer_info_spec.rb +7 -7
  80. data/spec/unit/braintree/payment_method_nonce_details_spec.rb +14 -14
  81. data/spec/unit/braintree/payment_method_spec.rb +19 -19
  82. data/spec/unit/braintree/paypal_account_spec.rb +4 -4
  83. data/spec/unit/braintree/resource_collection_spec.rb +7 -7
  84. data/spec/unit/braintree/sepa_debit_account_nonce_details_spec.rb +1 -1
  85. data/spec/unit/braintree/sha256_digest_spec.rb +1 -1
  86. data/spec/unit/braintree/signature_service_spec.rb +2 -2
  87. data/spec/unit/braintree/subscription_search_spec.rb +17 -17
  88. data/spec/unit/braintree/subscription_spec.rb +8 -8
  89. data/spec/unit/braintree/successful_result_spec.rb +5 -5
  90. data/spec/unit/braintree/three_d_secure_info_spec.rb +20 -20
  91. data/spec/unit/braintree/transaction/credit_card_details_spec.rb +5 -5
  92. data/spec/unit/braintree/transaction/customer_details_spec.rb +1 -1
  93. data/spec/unit/braintree/transaction/deposit_details_spec.rb +2 -2
  94. data/spec/unit/braintree/transaction/local_payment_details_spec.rb +30 -0
  95. data/spec/unit/braintree/transaction_gateway_spec.rb +9 -6
  96. data/spec/unit/braintree/transaction_search_spec.rb +2 -2
  97. data/spec/unit/braintree/transaction_spec.rb +101 -93
  98. data/spec/unit/braintree/unknown_payment_method_spec.rb +4 -4
  99. data/spec/unit/braintree/us_bank_account_spec.rb +2 -2
  100. data/spec/unit/braintree/us_bank_account_verification_search_spec.rb +7 -7
  101. data/spec/unit/braintree/us_bank_account_verification_spec.rb +7 -7
  102. data/spec/unit/braintree/util_spec.rb +27 -27
  103. data/spec/unit/braintree/validation_error_collection_spec.rb +34 -34
  104. data/spec/unit/braintree/validation_error_spec.rb +4 -4
  105. data/spec/unit/braintree/venmo_profile_data_spec.rb +5 -5
  106. data/spec/unit/braintree/webhook_notification_spec.rb +206 -191
  107. data/spec/unit/braintree/xml/libxml_spec.rb +5 -5
  108. data/spec/unit/braintree/xml/parser_spec.rb +8 -8
  109. data/spec/unit/braintree/xml/rexml_spec.rb +5 -5
  110. data/spec/unit/braintree/xml_spec.rb +17 -17
  111. data/spec/unit/braintree_spec.rb +2 -2
  112. metadata +3 -2
@@ -6,10 +6,10 @@ describe Braintree::Customer do
6
6
  describe "self.all" do
7
7
  it "gets more than a page of customers" do
8
8
  customers = Braintree::Customer.all
9
- customers.maximum_size.should > 100
9
+ expect(customers.maximum_size).to be > 100
10
10
 
11
11
  customer_ids = customers.map { |c| c.id }.uniq.compact
12
- customer_ids.size.should == customers.maximum_size
12
+ expect(customer_ids.size).to eq(customers.maximum_size)
13
13
  end
14
14
  end
15
15
 
@@ -19,11 +19,11 @@ describe Braintree::Customer do
19
19
  :first_name => "Joe",
20
20
  :last_name => "Cool",
21
21
  )
22
- create_result.success?.should == true
22
+ expect(create_result.success?).to eq(true)
23
23
  customer = create_result.customer
24
24
 
25
25
  delete_result = Braintree::Customer.delete(customer.id)
26
- delete_result.success?.should == true
26
+ expect(delete_result.success?).to eq(true)
27
27
  expect do
28
28
  Braintree::Customer.find(customer.id)
29
29
  end.to raise_error(Braintree::NotFoundError)
@@ -42,17 +42,17 @@ describe Braintree::Customer do
42
42
  :website => "www.microsoft.com",
43
43
  :tax_identifiers => [{:country_code => "US", :identifier => "987654321"}],
44
44
  )
45
- result.success?.should == true
46
- result.customer.id.should =~ /^\d{6,}$/
47
- result.customer.first_name.should == "Bill"
48
- result.customer.last_name.should == "Gates"
49
- result.customer.company.should == "Microsoft"
50
- result.customer.email.should == "bill@microsoft.com"
51
- result.customer.phone.should == "312.555.1234"
52
- result.customer.fax.should == "614.555.5678"
53
- result.customer.website.should == "www.microsoft.com"
54
- result.customer.created_at.between?(Time.now - 10, Time.now).should == true
55
- result.customer.updated_at.between?(Time.now - 10, Time.now).should == true
45
+ expect(result.success?).to eq(true)
46
+ expect(result.customer.id).to match(/^\d{6,}$/)
47
+ expect(result.customer.first_name).to eq("Bill")
48
+ expect(result.customer.last_name).to eq("Gates")
49
+ expect(result.customer.company).to eq("Microsoft")
50
+ expect(result.customer.email).to eq("bill@microsoft.com")
51
+ expect(result.customer.phone).to eq("312.555.1234")
52
+ expect(result.customer.fax).to eq("614.555.5678")
53
+ expect(result.customer.website).to eq("www.microsoft.com")
54
+ expect(result.customer.created_at.between?(Time.now - 10, Time.now)).to eq(true)
55
+ expect(result.customer.updated_at.between?(Time.now - 10, Time.now)).to eq(true)
56
56
  end
57
57
 
58
58
  it "returns a successful result if successful using an access token" do
@@ -80,10 +80,10 @@ describe Braintree::Customer do
80
80
  :fax => "614.555.5678",
81
81
  :website => "www.example.com",
82
82
  )
83
- result.success?.should == true
84
- result.customer.id.should =~ /^\d{6,}$/
85
- result.customer.first_name.should == "Joe"
86
- result.customer.last_name.should == "Brown"
83
+ expect(result.success?).to eq(true)
84
+ expect(result.customer.id).to match(/^\d{6,}$/)
85
+ expect(result.customer.first_name).to eq("Joe")
86
+ expect(result.customer.last_name).to eq("Brown")
87
87
  end
88
88
 
89
89
  it "supports creation with device_data" do
@@ -96,7 +96,7 @@ describe Braintree::Customer do
96
96
  },
97
97
  )
98
98
 
99
- result.should be_success
99
+ expect(result).to be_success
100
100
  end
101
101
 
102
102
  it "supports creation including risk data with customer_browser and customer_ip" do
@@ -112,7 +112,7 @@ describe Braintree::Customer do
112
112
  },
113
113
  )
114
114
 
115
- result.should be_success
115
+ expect(result).to be_success
116
116
  end
117
117
 
118
118
  it "includes risk data when skip_advanced_fraud_checking is false" do
@@ -163,38 +163,38 @@ describe Braintree::Customer do
163
163
  ],
164
164
  )
165
165
 
166
- result.should be_success
166
+ expect(result).to be_success
167
167
  end
168
168
 
169
169
  it "can create without any attributes" do
170
170
  result = Braintree::Customer.create
171
- result.success?.should == true
171
+ expect(result.success?).to eq(true)
172
172
  end
173
173
 
174
174
  it "supports utf-8" do
175
175
  first_name = "Jos\303\251"
176
176
  last_name = "Mu\303\261oz"
177
177
  result = Braintree::Customer.create(:first_name => first_name, :last_name => last_name)
178
- result.success?.should == true
178
+ expect(result.success?).to eq(true)
179
179
 
180
180
  if RUBY_VERSION =~ /^1.8/
181
- result.customer.first_name.should == first_name
182
- result.customer.last_name.should == last_name
181
+ expect(result.customer.first_name).to eq(first_name)
182
+ expect(result.customer.last_name).to eq(last_name)
183
183
 
184
184
  found_customer = Braintree::Customer.find(result.customer.id)
185
- found_customer.first_name.should == first_name
186
- found_customer.last_name.should == last_name
185
+ expect(found_customer.first_name).to eq(first_name)
186
+ expect(found_customer.last_name).to eq(last_name)
187
187
  else
188
- result.customer.first_name.should == "José"
189
- result.customer.first_name.bytes.map { |b| b.to_s(8) }.should == ["112", "157", "163", "303", "251"]
190
- result.customer.last_name.should == "Muñoz"
191
- result.customer.last_name.bytes.map { |b| b.to_s(8) }.should == ["115", "165", "303", "261", "157", "172"]
188
+ expect(result.customer.first_name).to eq("José")
189
+ expect(result.customer.first_name.bytes.map { |b| b.to_s(8) }).to eq(["112", "157", "163", "303", "251"])
190
+ expect(result.customer.last_name).to eq("Muñoz")
191
+ expect(result.customer.last_name.bytes.map { |b| b.to_s(8) }).to eq(["115", "165", "303", "261", "157", "172"])
192
192
 
193
193
  found_customer = Braintree::Customer.find(result.customer.id)
194
- found_customer.first_name.should == "José"
195
- found_customer.first_name.bytes.map { |b| b.to_s(8) }.should == ["112", "157", "163", "303", "251"]
196
- found_customer.last_name.should == "Muñoz"
197
- found_customer.last_name.bytes.map { |b| b.to_s(8) }.should == ["115", "165", "303", "261", "157", "172"]
194
+ expect(found_customer.first_name).to eq("José")
195
+ expect(found_customer.first_name.bytes.map { |b| b.to_s(8) }).to eq(["112", "157", "163", "303", "251"])
196
+ expect(found_customer.last_name).to eq("Muñoz")
197
+ expect(found_customer.last_name.bytes.map { |b| b.to_s(8) }).to eq(["115", "165", "303", "261", "157", "172"])
198
198
  end
199
199
  end
200
200
 
@@ -202,8 +202,8 @@ describe Braintree::Customer do
202
202
  result = Braintree::Customer.create(
203
203
  :email => "@invalid.com",
204
204
  )
205
- result.success?.should == false
206
- result.errors.for(:customer).on(:email)[0].message.should == "Email is an invalid format."
205
+ expect(result.success?).to eq(false)
206
+ expect(result.errors.for(:customer).on(:email)[0].message).to eq("Email is an invalid format.")
207
207
  end
208
208
 
209
209
  it "can create a customer and a payment method at the same time" do
@@ -217,13 +217,13 @@ describe Braintree::Customer do
217
217
  },
218
218
  )
219
219
 
220
- result.success?.should == true
221
- result.customer.first_name.should == "Mike"
222
- result.customer.last_name.should == "Jones"
223
- result.customer.credit_cards[0].bin.should == Braintree::Test::CreditCardNumbers::MasterCard[0, 6]
224
- result.customer.credit_cards[0].last_4.should == Braintree::Test::CreditCardNumbers::MasterCard[-4..-1]
225
- result.customer.credit_cards[0].expiration_date.should == "05/2010"
226
- result.customer.credit_cards[0].unique_number_identifier.should =~ /\A\w{32}\z/
220
+ expect(result.success?).to eq(true)
221
+ expect(result.customer.first_name).to eq("Mike")
222
+ expect(result.customer.last_name).to eq("Jones")
223
+ expect(result.customer.credit_cards[0].bin).to eq(Braintree::Test::CreditCardNumbers::MasterCard[0, 6])
224
+ expect(result.customer.credit_cards[0].last_4).to eq(Braintree::Test::CreditCardNumbers::MasterCard[-4..-1])
225
+ expect(result.customer.credit_cards[0].expiration_date).to eq("05/2010")
226
+ expect(result.customer.credit_cards[0].unique_number_identifier).to match(/\A\w{32}\z/)
227
227
  end
228
228
 
229
229
  it "can create a customer and a paypal account at the same time" do
@@ -237,11 +237,11 @@ describe Braintree::Customer do
237
237
  },
238
238
  )
239
239
 
240
- result.success?.should == true
241
- result.customer.first_name.should == "Mike"
242
- result.customer.last_name.should == "Jones"
243
- result.customer.paypal_accounts[0].billing_agreement_id.should == "B-123456"
244
- result.customer.paypal_accounts[0].email.should == "other@example.com"
240
+ expect(result.success?).to eq(true)
241
+ expect(result.customer.first_name).to eq("Mike")
242
+ expect(result.customer.last_name).to eq("Jones")
243
+ expect(result.customer.paypal_accounts[0].billing_agreement_id).to eq("B-123456")
244
+ expect(result.customer.paypal_accounts[0].email).to eq("other@example.com")
245
245
  end
246
246
 
247
247
  it "verifies the card if credit_card[options][verify_card]=true" do
@@ -254,8 +254,8 @@ describe Braintree::Customer do
254
254
  :options => {:verify_card => true}
255
255
  },
256
256
  )
257
- result.success?.should == false
258
- result.credit_card_verification.status.should == Braintree::Transaction::Status::ProcessorDeclined
257
+ expect(result.success?).to eq(false)
258
+ expect(result.credit_card_verification.status).to eq(Braintree::Transaction::Status::ProcessorDeclined)
259
259
  end
260
260
 
261
261
  it "allows a verification_amount" do
@@ -268,7 +268,7 @@ describe Braintree::Customer do
268
268
  :options => {:verify_card => true, :verification_amount => "2.00"}
269
269
  },
270
270
  )
271
- result.success?.should == true
271
+ expect(result.success?).to eq(true)
272
272
  end
273
273
 
274
274
  it "fails on create if credit_card[options][fail_on_duplicate_payment_method]=true and there is a duplicated payment method" do
@@ -288,8 +288,8 @@ describe Braintree::Customer do
288
288
  :options => {:fail_on_duplicate_payment_method => true}
289
289
  },
290
290
  )
291
- result.success?.should == false
292
- result.errors.for(:customer).for(:credit_card).on(:number)[0].message.should == "Duplicate card exists in the vault."
291
+ expect(result.success?).to eq(false)
292
+ expect(result.errors.for(:customer).for(:credit_card).on(:number)[0].message).to eq("Duplicate card exists in the vault.")
293
293
  end
294
294
 
295
295
  it "allows the user to specify the merchant account for verification" do
@@ -305,8 +305,8 @@ describe Braintree::Customer do
305
305
  }
306
306
  },
307
307
  )
308
- result.success?.should == false
309
- result.credit_card_verification.status.should == Braintree::Transaction::Status::ProcessorDeclined
308
+ expect(result.success?).to eq(false)
309
+ expect(result.credit_card_verification.status).to eq(Braintree::Transaction::Status::ProcessorDeclined)
310
310
  end
311
311
 
312
312
  it "can create a customer and a payment method at the same time after validating verification_currency_iso_code" do
@@ -324,13 +324,13 @@ describe Braintree::Customer do
324
324
  },
325
325
  )
326
326
 
327
- result.success?.should == true
328
- result.customer.first_name.should == "Mike"
329
- result.customer.last_name.should == "Jones"
330
- result.customer.credit_cards[0].bin.should == Braintree::Test::CreditCardNumbers::MasterCard[0, 6]
331
- result.customer.credit_cards[0].last_4.should == Braintree::Test::CreditCardNumbers::MasterCard[-4..-1]
332
- result.customer.credit_cards[0].expiration_date.should == "05/2010"
333
- result.customer.credit_cards[0].unique_number_identifier.should =~ /\A\w{32}\z/
327
+ expect(result.success?).to eq(true)
328
+ expect(result.customer.first_name).to eq("Mike")
329
+ expect(result.customer.last_name).to eq("Jones")
330
+ expect(result.customer.credit_cards[0].bin).to eq(Braintree::Test::CreditCardNumbers::MasterCard[0, 6])
331
+ expect(result.customer.credit_cards[0].last_4).to eq(Braintree::Test::CreditCardNumbers::MasterCard[-4..-1])
332
+ expect(result.customer.credit_cards[0].expiration_date).to eq("05/2010")
333
+ expect(result.customer.credit_cards[0].unique_number_identifier).to match(/\A\w{32}\z/)
334
334
  result.customer.credit_cards[0].verification.currency_iso_code == "USD"
335
335
  end
336
336
 
@@ -366,14 +366,14 @@ describe Braintree::Customer do
366
366
  }
367
367
  },
368
368
  )
369
- result.success?.should == true
369
+ expect(result.success?).to eq(true)
370
370
  result.customer.credit_cards[0].verification.currency_iso_code == "USD"
371
- result.customer.first_name.should == "Mike"
372
- result.customer.last_name.should == "Jones"
373
- result.customer.credit_cards[0].bin.should == Braintree::Test::CreditCardNumbers::MasterCard[0, 6]
374
- result.customer.credit_cards[0].last_4.should == Braintree::Test::CreditCardNumbers::MasterCard[-4..-1]
375
- result.customer.credit_cards[0].expiration_date.should == "05/2010"
376
- result.customer.credit_cards[0].unique_number_identifier.should =~ /\A\w{32}\z/
371
+ expect(result.customer.first_name).to eq("Mike")
372
+ expect(result.customer.last_name).to eq("Jones")
373
+ expect(result.customer.credit_cards[0].bin).to eq(Braintree::Test::CreditCardNumbers::MasterCard[0, 6])
374
+ expect(result.customer.credit_cards[0].last_4).to eq(Braintree::Test::CreditCardNumbers::MasterCard[-4..-1])
375
+ expect(result.customer.credit_cards[0].expiration_date).to eq("05/2010")
376
+ expect(result.customer.credit_cards[0].unique_number_identifier).to match(/\A\w{32}\z/)
377
377
  end
378
378
 
379
379
  it "validates verification_currency_iso_code of the given verification_merchant_account_id and returns error" do
@@ -412,20 +412,20 @@ describe Braintree::Customer do
412
412
  }
413
413
  },
414
414
  )
415
- result.success?.should == true
416
- result.customer.first_name.should == "Mike"
417
- result.customer.last_name.should == "Jones"
418
- result.customer.credit_cards[0].bin.should == Braintree::Test::CreditCardNumbers::MasterCard[0, 6]
419
- result.customer.credit_cards[0].last_4.should == Braintree::Test::CreditCardNumbers::MasterCard[-4..-1]
420
- result.customer.credit_cards[0].expiration_date.should == "05/2010"
421
- result.customer.credit_cards[0].billing_address.id.should == result.customer.addresses[0].id
422
- result.customer.addresses[0].id.should =~ /\w+/
423
- result.customer.addresses[0].street_address.should == "1 E Main St"
424
- result.customer.addresses[0].extended_address.should == "Suite 3"
425
- result.customer.addresses[0].locality.should == "Chicago"
426
- result.customer.addresses[0].region.should == "Illinois"
427
- result.customer.addresses[0].postal_code.should == "60622"
428
- result.customer.addresses[0].country_name.should == "United States of America"
415
+ expect(result.success?).to eq(true)
416
+ expect(result.customer.first_name).to eq("Mike")
417
+ expect(result.customer.last_name).to eq("Jones")
418
+ expect(result.customer.credit_cards[0].bin).to eq(Braintree::Test::CreditCardNumbers::MasterCard[0, 6])
419
+ expect(result.customer.credit_cards[0].last_4).to eq(Braintree::Test::CreditCardNumbers::MasterCard[-4..-1])
420
+ expect(result.customer.credit_cards[0].expiration_date).to eq("05/2010")
421
+ expect(result.customer.credit_cards[0].billing_address.id).to eq(result.customer.addresses[0].id)
422
+ expect(result.customer.addresses[0].id).to match(/\w+/)
423
+ expect(result.customer.addresses[0].street_address).to eq("1 E Main St")
424
+ expect(result.customer.addresses[0].extended_address).to eq("Suite 3")
425
+ expect(result.customer.addresses[0].locality).to eq("Chicago")
426
+ expect(result.customer.addresses[0].region).to eq("Illinois")
427
+ expect(result.customer.addresses[0].postal_code).to eq("60622")
428
+ expect(result.customer.addresses[0].country_name).to eq("United States of America")
429
429
  end
430
430
 
431
431
  it "can use any country code" do
@@ -443,11 +443,11 @@ describe Braintree::Customer do
443
443
  }
444
444
  },
445
445
  )
446
- result.success?.should == true
447
- result.customer.addresses[0].country_name.should == "Comoros"
448
- result.customer.addresses[0].country_code_alpha2.should == "KM"
449
- result.customer.addresses[0].country_code_alpha3.should == "COM"
450
- result.customer.addresses[0].country_code_numeric.should == "174"
446
+ expect(result.success?).to eq(true)
447
+ expect(result.customer.addresses[0].country_name).to eq("Comoros")
448
+ expect(result.customer.addresses[0].country_code_alpha2).to eq("KM")
449
+ expect(result.customer.addresses[0].country_code_alpha3).to eq("COM")
450
+ expect(result.customer.addresses[0].country_code_numeric).to eq("174")
451
451
  end
452
452
 
453
453
  it "stores custom fields when valid" do
@@ -458,8 +458,8 @@ describe Braintree::Customer do
458
458
  :store_me => "custom value"
459
459
  },
460
460
  )
461
- result.success?.should == true
462
- result.customer.custom_fields[:store_me].should == "custom value"
461
+ expect(result.success?).to eq(true)
462
+ expect(result.customer.custom_fields[:store_me]).to eq("custom value")
463
463
  end
464
464
 
465
465
  it "returns empty hash for custom fields when blank" do
@@ -468,8 +468,8 @@ describe Braintree::Customer do
468
468
  :last_name => "Gates",
469
469
  :custom_fields => {:store_me => ""},
470
470
  )
471
- result.success?.should == true
472
- result.customer.custom_fields.should == {}
471
+ expect(result.success?).to eq(true)
472
+ expect(result.customer.custom_fields).to eq({})
473
473
  end
474
474
 
475
475
  it "returns nested errors if credit card and/or billing address are invalid" do
@@ -482,10 +482,10 @@ describe Braintree::Customer do
482
482
  }
483
483
  },
484
484
  )
485
- result.success?.should == false
486
- result.errors.for(:customer).on(:email)[0].message.should == "Email is an invalid format."
487
- result.errors.for(:customer).for(:credit_card).on(:number)[0].message.should == "Credit card number is invalid."
488
- result.errors.for(:customer).for(:credit_card).for(:billing_address).on(:country_name)[0].message.should == "Country name is not an accepted country."
485
+ expect(result.success?).to eq(false)
486
+ expect(result.errors.for(:customer).on(:email)[0].message).to eq("Email is an invalid format.")
487
+ expect(result.errors.for(:customer).for(:credit_card).on(:number)[0].message).to eq("Credit card number is invalid.")
488
+ expect(result.errors.for(:customer).for(:credit_card).for(:billing_address).on(:country_name)[0].message).to eq("Country name is not an accepted country.")
489
489
  end
490
490
 
491
491
  it "returns errors if country codes are inconsistent" do
@@ -502,8 +502,8 @@ describe Braintree::Customer do
502
502
  }
503
503
  },
504
504
  )
505
- result.success?.should == false
506
- result.errors.for(:customer).for(:credit_card).for(:billing_address).on(:base).map { |e| e.code }.should include(Braintree::ErrorCodes::Address::InconsistentCountry)
505
+ expect(result.success?).to eq(false)
506
+ expect(result.errors.for(:customer).for(:credit_card).for(:billing_address).on(:base).map { |e| e.code }).to include(Braintree::ErrorCodes::Address::InconsistentCountry)
507
507
  end
508
508
 
509
509
  it "returns an error if country code alpha2 is invalid" do
@@ -518,8 +518,8 @@ describe Braintree::Customer do
518
518
  }
519
519
  },
520
520
  )
521
- result.success?.should == false
522
- result.errors.for(:customer).for(:credit_card).for(:billing_address).on(:country_code_alpha2).map { |e| e.code }.should include(Braintree::ErrorCodes::Address::CountryCodeAlpha2IsNotAccepted)
521
+ expect(result.success?).to eq(false)
522
+ expect(result.errors.for(:customer).for(:credit_card).for(:billing_address).on(:country_code_alpha2).map { |e| e.code }).to include(Braintree::ErrorCodes::Address::CountryCodeAlpha2IsNotAccepted)
523
523
  end
524
524
 
525
525
  it "returns an error if country code alpha3 is invalid" do
@@ -534,8 +534,8 @@ describe Braintree::Customer do
534
534
  }
535
535
  },
536
536
  )
537
- result.success?.should == false
538
- result.errors.for(:customer).for(:credit_card).for(:billing_address).on(:country_code_alpha3).map { |e| e.code }.should include(Braintree::ErrorCodes::Address::CountryCodeAlpha3IsNotAccepted)
537
+ expect(result.success?).to eq(false)
538
+ expect(result.errors.for(:customer).for(:credit_card).for(:billing_address).on(:country_code_alpha3).map { |e| e.code }).to include(Braintree::ErrorCodes::Address::CountryCodeAlpha3IsNotAccepted)
539
539
  end
540
540
 
541
541
  it "returns an error if country code numeric is invalid" do
@@ -550,8 +550,8 @@ describe Braintree::Customer do
550
550
  }
551
551
  },
552
552
  )
553
- result.success?.should == false
554
- result.errors.for(:customer).for(:credit_card).for(:billing_address).on(:country_code_numeric).map { |e| e.code }.should include(Braintree::ErrorCodes::Address::CountryCodeNumericIsNotAccepted)
553
+ expect(result.success?).to eq(false)
554
+ expect(result.errors.for(:customer).for(:credit_card).for(:billing_address).on(:country_code_numeric).map { |e| e.code }).to include(Braintree::ErrorCodes::Address::CountryCodeNumericIsNotAccepted)
555
555
  end
556
556
 
557
557
  it "returns errors if custom_fields are not registered" do
@@ -562,8 +562,8 @@ describe Braintree::Customer do
562
562
  :spouse_name => "Jacqueline"
563
563
  },
564
564
  )
565
- result.success?.should == false
566
- result.errors.for(:customer).on(:custom_fields)[0].message.should == "Custom field is invalid: spouse_name."
565
+ expect(result.success?).to eq(false)
566
+ expect(result.errors.for(:customer).on(:custom_fields)[0].message).to eq("Custom field is invalid: spouse_name.")
567
567
  end
568
568
 
569
569
  context "client API" do
@@ -583,24 +583,24 @@ describe Braintree::Customer do
583
583
  },
584
584
  )
585
585
 
586
- result.success?.should == true
587
- result.customer.credit_cards.first.bin.should == "411111"
588
- result.customer.credit_cards.first.last_4.should == "1111"
586
+ expect(result.success?).to eq(true)
587
+ expect(result.customer.credit_cards.first.bin).to eq("411111")
588
+ expect(result.customer.credit_cards.first.last_4).to eq("1111")
589
589
  end
590
590
  end
591
591
 
592
592
  it "can create a customer with an apple pay payment method" do
593
593
  result = Braintree::Customer.create(:payment_method_nonce => Braintree::Test::Nonce::ApplePayVisa)
594
594
 
595
- result.success?.should == true
596
- result.customer.payment_methods.should_not be_empty
597
- result.customer.payment_methods.first.token.should_not be_nil
595
+ expect(result.success?).to eq(true)
596
+ expect(result.customer.payment_methods).not_to be_empty
597
+ expect(result.customer.payment_methods.first.token).not_to be_nil
598
598
  end
599
599
 
600
600
  it "can create a customer with an unknown payment method" do
601
601
  result = Braintree::Customer.create(:payment_method_nonce => Braintree::Test::Nonce::AbstractTransactable)
602
602
 
603
- result.success?.should == true
603
+ expect(result.success?).to eq(true)
604
604
  end
605
605
 
606
606
  context "verification_account_type" do
@@ -701,14 +701,14 @@ describe Braintree::Customer do
701
701
  :first_name => "Jim",
702
702
  :last_name => "Smith",
703
703
  )
704
- customer.id.should =~ /\d+/
705
- customer.first_name.should == "Jim"
706
- customer.last_name.should == "Smith"
704
+ expect(customer.id).to match(/\d+/)
705
+ expect(customer.first_name).to eq("Jim")
706
+ expect(customer.last_name).to eq("Smith")
707
707
  end
708
708
 
709
709
  it "can create without any attributes" do
710
710
  customer = Braintree::Customer.create!
711
- customer.id.should =~ /\d+/
711
+ expect(customer.id).to match(/\d+/)
712
712
  end
713
713
 
714
714
  it "raises an exception if not successful" do
@@ -727,14 +727,14 @@ describe Braintree::Customer do
727
727
  },
728
728
  )
729
729
  result = Braintree::Customer.credit(customer.id, :amount => "100.00")
730
- result.success?.should == true
731
- result.transaction.amount.should == BigDecimal("100.00")
732
- result.transaction.type.should == "credit"
733
- result.transaction.customer_details.id.should == customer.id
734
- result.transaction.credit_card_details.token.should == customer.credit_cards[0].token
735
- result.transaction.credit_card_details.bin.should == Braintree::Test::CreditCardNumbers::Visa[0, 6]
736
- result.transaction.credit_card_details.last_4.should == Braintree::Test::CreditCardNumbers::Visa[-4..-1]
737
- result.transaction.credit_card_details.expiration_date.should == "05/2010"
730
+ expect(result.success?).to eq(true)
731
+ expect(result.transaction.amount).to eq(BigDecimal("100.00"))
732
+ expect(result.transaction.type).to eq("credit")
733
+ expect(result.transaction.customer_details.id).to eq(customer.id)
734
+ expect(result.transaction.credit_card_details.token).to eq(customer.credit_cards[0].token)
735
+ expect(result.transaction.credit_card_details.bin).to eq(Braintree::Test::CreditCardNumbers::Visa[0, 6])
736
+ expect(result.transaction.credit_card_details.last_4).to eq(Braintree::Test::CreditCardNumbers::Visa[-4..-1])
737
+ expect(result.transaction.credit_card_details.expiration_date).to eq("05/2010")
738
738
  end
739
739
  end
740
740
 
@@ -747,13 +747,13 @@ describe Braintree::Customer do
747
747
  },
748
748
  )
749
749
  transaction = Braintree::Customer.credit!(customer.id, :amount => "100.00")
750
- transaction.amount.should == BigDecimal("100.00")
751
- transaction.type.should == "credit"
752
- transaction.customer_details.id.should == customer.id
753
- transaction.credit_card_details.token.should == customer.credit_cards[0].token
754
- transaction.credit_card_details.bin.should == Braintree::Test::CreditCardNumbers::Visa[0, 6]
755
- transaction.credit_card_details.last_4.should == Braintree::Test::CreditCardNumbers::Visa[-4..-1]
756
- transaction.credit_card_details.expiration_date.should == "05/2010"
750
+ expect(transaction.amount).to eq(BigDecimal("100.00"))
751
+ expect(transaction.type).to eq("credit")
752
+ expect(transaction.customer_details.id).to eq(customer.id)
753
+ expect(transaction.credit_card_details.token).to eq(customer.credit_cards[0].token)
754
+ expect(transaction.credit_card_details.bin).to eq(Braintree::Test::CreditCardNumbers::Visa[0, 6])
755
+ expect(transaction.credit_card_details.last_4).to eq(Braintree::Test::CreditCardNumbers::Visa[-4..-1])
756
+ expect(transaction.credit_card_details.expiration_date).to eq("05/2010")
757
757
  end
758
758
  end
759
759
 
@@ -766,14 +766,14 @@ describe Braintree::Customer do
766
766
  },
767
767
  )
768
768
  result = Braintree::Customer.sale(customer.id, :amount => "100.00")
769
- result.success?.should == true
770
- result.transaction.amount.should == BigDecimal("100.00")
771
- result.transaction.type.should == "sale"
772
- result.transaction.customer_details.id.should == customer.id
773
- result.transaction.credit_card_details.token.should == customer.credit_cards[0].token
774
- result.transaction.credit_card_details.bin.should == Braintree::Test::CreditCardNumbers::Visa[0, 6]
775
- result.transaction.credit_card_details.last_4.should == Braintree::Test::CreditCardNumbers::Visa[-4..-1]
776
- result.transaction.credit_card_details.expiration_date.should == "05/2010"
769
+ expect(result.success?).to eq(true)
770
+ expect(result.transaction.amount).to eq(BigDecimal("100.00"))
771
+ expect(result.transaction.type).to eq("sale")
772
+ expect(result.transaction.customer_details.id).to eq(customer.id)
773
+ expect(result.transaction.credit_card_details.token).to eq(customer.credit_cards[0].token)
774
+ expect(result.transaction.credit_card_details.bin).to eq(Braintree::Test::CreditCardNumbers::Visa[0, 6])
775
+ expect(result.transaction.credit_card_details.last_4).to eq(Braintree::Test::CreditCardNumbers::Visa[-4..-1])
776
+ expect(result.transaction.credit_card_details.expiration_date).to eq("05/2010")
777
777
  end
778
778
  end
779
779
 
@@ -786,13 +786,13 @@ describe Braintree::Customer do
786
786
  },
787
787
  )
788
788
  transaction = Braintree::Customer.sale!(customer.id, :amount => "100.00")
789
- transaction.amount.should == BigDecimal("100.00")
790
- transaction.type.should == "sale"
791
- transaction.customer_details.id.should == customer.id
792
- transaction.credit_card_details.token.should == customer.credit_cards[0].token
793
- transaction.credit_card_details.bin.should == Braintree::Test::CreditCardNumbers::Visa[0, 6]
794
- transaction.credit_card_details.last_4.should == Braintree::Test::CreditCardNumbers::Visa[-4..-1]
795
- transaction.credit_card_details.expiration_date.should == "05/2010"
789
+ expect(transaction.amount).to eq(BigDecimal("100.00"))
790
+ expect(transaction.type).to eq("sale")
791
+ expect(transaction.customer_details.id).to eq(customer.id)
792
+ expect(transaction.credit_card_details.token).to eq(customer.credit_cards[0].token)
793
+ expect(transaction.credit_card_details.bin).to eq(Braintree::Test::CreditCardNumbers::Visa[0, 6])
794
+ expect(transaction.credit_card_details.last_4).to eq(Braintree::Test::CreditCardNumbers::Visa[-4..-1])
795
+ expect(transaction.credit_card_details.expiration_date).to eq("05/2010")
796
796
  end
797
797
  end
798
798
 
@@ -806,7 +806,7 @@ describe Braintree::Customer do
806
806
  )
807
807
  transaction = Braintree::Customer.sale!(customer.id, :amount => "100.00")
808
808
  collection = Braintree::Customer.transactions(customer.id)
809
- collection.first.should == transaction
809
+ expect(collection.first).to eq(transaction)
810
810
  end
811
811
  end
812
812
 
@@ -821,14 +821,14 @@ describe Braintree::Customer do
821
821
  result = customer.credit(
822
822
  :amount => "100.00",
823
823
  )
824
- result.success?.should == true
825
- result.transaction.amount.should == BigDecimal("100.00")
826
- result.transaction.type.should == "credit"
827
- result.transaction.customer_details.id.should == customer.id
828
- result.transaction.credit_card_details.token.should == customer.credit_cards[0].token
829
- result.transaction.credit_card_details.bin.should == Braintree::Test::CreditCardNumbers::Visa[0, 6]
830
- result.transaction.credit_card_details.last_4.should == Braintree::Test::CreditCardNumbers::Visa[-4..-1]
831
- result.transaction.credit_card_details.expiration_date.should == "05/2010"
824
+ expect(result.success?).to eq(true)
825
+ expect(result.transaction.amount).to eq(BigDecimal("100.00"))
826
+ expect(result.transaction.type).to eq("credit")
827
+ expect(result.transaction.customer_details.id).to eq(customer.id)
828
+ expect(result.transaction.credit_card_details.token).to eq(customer.credit_cards[0].token)
829
+ expect(result.transaction.credit_card_details.bin).to eq(Braintree::Test::CreditCardNumbers::Visa[0, 6])
830
+ expect(result.transaction.credit_card_details.last_4).to eq(Braintree::Test::CreditCardNumbers::Visa[-4..-1])
831
+ expect(result.transaction.credit_card_details.expiration_date).to eq("05/2010")
832
832
  end
833
833
  end
834
834
 
@@ -841,13 +841,13 @@ describe Braintree::Customer do
841
841
  },
842
842
  )
843
843
  transaction = customer.credit!(:amount => "100.00")
844
- transaction.amount.should == BigDecimal("100.00")
845
- transaction.type.should == "credit"
846
- transaction.customer_details.id.should == customer.id
847
- transaction.credit_card_details.token.should == customer.credit_cards[0].token
848
- transaction.credit_card_details.bin.should == Braintree::Test::CreditCardNumbers::Visa[0, 6]
849
- transaction.credit_card_details.last_4.should == Braintree::Test::CreditCardNumbers::Visa[-4..-1]
850
- transaction.credit_card_details.expiration_date.should == "05/2010"
844
+ expect(transaction.amount).to eq(BigDecimal("100.00"))
845
+ expect(transaction.type).to eq("credit")
846
+ expect(transaction.customer_details.id).to eq(customer.id)
847
+ expect(transaction.credit_card_details.token).to eq(customer.credit_cards[0].token)
848
+ expect(transaction.credit_card_details.bin).to eq(Braintree::Test::CreditCardNumbers::Visa[0, 6])
849
+ expect(transaction.credit_card_details.last_4).to eq(Braintree::Test::CreditCardNumbers::Visa[-4..-1])
850
+ expect(transaction.credit_card_details.expiration_date).to eq("05/2010")
851
851
  end
852
852
  end
853
853
 
@@ -857,10 +857,10 @@ describe Braintree::Customer do
857
857
  :first_name => "Joe",
858
858
  :last_name => "Cool",
859
859
  )
860
- result.success?.should == true
860
+ expect(result.success?).to eq(true)
861
861
 
862
862
  customer = result.customer
863
- customer.delete.success?.should == true
863
+ expect(customer.delete.success?).to eq(true)
864
864
  expect do
865
865
  Braintree::Customer.find(customer.id)
866
866
  end.to raise_error(Braintree::NotFoundError)
@@ -874,13 +874,13 @@ describe Braintree::Customer do
874
874
  :first_name => "Joe",
875
875
  :last_name => "Cool",
876
876
  )
877
- result.success?.should == true
877
+ expect(result.success?).to eq(true)
878
878
 
879
879
  customer = Braintree::Customer.find(result.customer.id)
880
- customer.id.should == result.customer.id
881
- customer.graphql_id.should_not be_nil
882
- customer.first_name.should == "Joe"
883
- customer.last_name.should == "Cool"
880
+ expect(customer.id).to eq(result.customer.id)
881
+ expect(customer.graphql_id).not_to be_nil
882
+ expect(customer.first_name).to eq("Joe")
883
+ expect(customer.last_name).to eq("Cool")
884
884
  end
885
885
 
886
886
  it "returns associated subscriptions" do
@@ -898,10 +898,10 @@ describe Braintree::Customer do
898
898
  ).subscription
899
899
 
900
900
  found_customer = Braintree::Customer.find(customer.id)
901
- found_customer.credit_cards.first.subscriptions.first.id.should == subscription.id
902
- found_customer.credit_cards.first.subscriptions.first.plan_id.should == "integration_trialless_plan"
903
- found_customer.credit_cards.first.subscriptions.first.payment_method_token.should == credit_card.token
904
- found_customer.credit_cards.first.subscriptions.first.price.should == BigDecimal("1.00")
901
+ expect(found_customer.credit_cards.first.subscriptions.first.id).to eq(subscription.id)
902
+ expect(found_customer.credit_cards.first.subscriptions.first.plan_id).to eq("integration_trialless_plan")
903
+ expect(found_customer.credit_cards.first.subscriptions.first.payment_method_token).to eq(credit_card.token)
904
+ expect(found_customer.credit_cards.first.subscriptions.first.price).to eq(BigDecimal("1.00"))
905
905
  end
906
906
 
907
907
  context "when given an association filter id" do
@@ -933,10 +933,10 @@ describe Braintree::Customer do
933
933
  found_customer = Braintree::Customer.find(customer.id, {
934
934
  :association_filter_id => "customernoassociations"
935
935
  })
936
- found_customer.credit_cards.length.should == 0
937
- found_customer.payment_methods.length.should == 0
938
- found_customer.addresses.length.should == 0
939
- found_customer.custom_fields.should == {}
936
+ expect(found_customer.credit_cards.length).to eq(0)
937
+ expect(found_customer.payment_methods.length).to eq(0)
938
+ expect(found_customer.addresses.length).to eq(0)
939
+ expect(found_customer.custom_fields).to eq({})
940
940
  end
941
941
 
942
942
  it "filters out nested filterable associations" do
@@ -968,12 +968,12 @@ describe Braintree::Customer do
968
968
  :association_filter_id => "customertoplevelassociations"
969
969
  })
970
970
 
971
- found_customer.credit_cards.length.should == 1
972
- found_customer.credit_cards.first.subscriptions.length.should == 0
973
- found_customer.payment_methods.length.should == 1
974
- found_customer.payment_methods.first.subscriptions.length.should == 0
975
- found_customer.addresses.length.should == 1
976
- found_customer.custom_fields.length.should == 1
971
+ expect(found_customer.credit_cards.length).to eq(1)
972
+ expect(found_customer.credit_cards.first.subscriptions.length).to eq(0)
973
+ expect(found_customer.payment_methods.length).to eq(1)
974
+ expect(found_customer.payment_methods.first.subscriptions.length).to eq(0)
975
+ expect(found_customer.addresses.length).to eq(1)
976
+ expect(found_customer.custom_fields.length).to eq(1)
977
977
  end
978
978
  end
979
979
 
@@ -981,89 +981,89 @@ describe Braintree::Customer do
981
981
  result = Braintree::Customer.create(
982
982
  :payment_method_nonce => Braintree::Test::Nonce::ApplePayAmEx,
983
983
  )
984
- result.success?.should == true
984
+ expect(result.success?).to eq(true)
985
985
 
986
986
  found_customer = Braintree::Customer.find(result.customer.id)
987
- found_customer.apple_pay_cards.should_not be_nil
987
+ expect(found_customer.apple_pay_cards).not_to be_nil
988
988
  apple_pay_card = found_customer.apple_pay_cards.first
989
- apple_pay_card.should be_a Braintree::ApplePayCard
990
- apple_pay_card.token.should_not be_nil
991
- apple_pay_card.expiration_year.should_not be_nil
992
- apple_pay_card.payment_instrument_name.should == "AmEx 41002"
993
- apple_pay_card.commercial.should_not be_nil
994
- apple_pay_card.country_of_issuance.should_not be_nil
995
- apple_pay_card.debit.should_not be_nil
996
- apple_pay_card.durbin_regulated.should_not be_nil
997
- apple_pay_card.healthcare.should_not be_nil
998
- apple_pay_card.issuing_bank.should_not be_nil
999
- apple_pay_card.payroll.should_not be_nil
1000
- apple_pay_card.prepaid.should_not be_nil
1001
- apple_pay_card.product_id.should_not be_nil
989
+ expect(apple_pay_card).to be_a Braintree::ApplePayCard
990
+ expect(apple_pay_card.token).not_to be_nil
991
+ expect(apple_pay_card.expiration_year).not_to be_nil
992
+ expect(apple_pay_card.payment_instrument_name).to eq("AmEx 41002")
993
+ expect(apple_pay_card.commercial).not_to be_nil
994
+ expect(apple_pay_card.country_of_issuance).not_to be_nil
995
+ expect(apple_pay_card.debit).not_to be_nil
996
+ expect(apple_pay_card.durbin_regulated).not_to be_nil
997
+ expect(apple_pay_card.healthcare).not_to be_nil
998
+ expect(apple_pay_card.issuing_bank).not_to be_nil
999
+ expect(apple_pay_card.payroll).not_to be_nil
1000
+ expect(apple_pay_card.prepaid).not_to be_nil
1001
+ expect(apple_pay_card.product_id).not_to be_nil
1002
1002
  end
1003
1003
 
1004
1004
  it "returns associated google pay proxy cards" do
1005
1005
  result = Braintree::Customer.create(
1006
1006
  :payment_method_nonce => Braintree::Test::Nonce::GooglePayDiscover,
1007
1007
  )
1008
- result.success?.should == true
1008
+ expect(result.success?).to eq(true)
1009
1009
 
1010
1010
  found_customer = Braintree::Customer.find(result.customer.id)
1011
- found_customer.google_pay_cards.size.should == 1
1012
- found_customer.payment_methods.size.should == 1
1011
+ expect(found_customer.google_pay_cards.size).to eq(1)
1012
+ expect(found_customer.payment_methods.size).to eq(1)
1013
1013
  google_pay_card = found_customer.google_pay_cards.first
1014
- google_pay_card.should be_a Braintree::GooglePayCard
1015
- google_pay_card.token.should_not be_nil
1016
- google_pay_card.expiration_year.should_not be_nil
1017
- google_pay_card.is_network_tokenized?.should == false
1018
- google_pay_card.commercial.should_not be_nil
1019
- google_pay_card.country_of_issuance.should_not be_nil
1020
- google_pay_card.debit.should_not be_nil
1021
- google_pay_card.durbin_regulated.should_not be_nil
1022
- google_pay_card.healthcare.should_not be_nil
1023
- google_pay_card.issuing_bank.should_not be_nil
1024
- google_pay_card.payroll.should_not be_nil
1025
- google_pay_card.prepaid.should_not be_nil
1026
- google_pay_card.product_id.should_not be_nil
1014
+ expect(google_pay_card).to be_a Braintree::GooglePayCard
1015
+ expect(google_pay_card.token).not_to be_nil
1016
+ expect(google_pay_card.expiration_year).not_to be_nil
1017
+ expect(google_pay_card.is_network_tokenized?).to eq(false)
1018
+ expect(google_pay_card.commercial).not_to be_nil
1019
+ expect(google_pay_card.country_of_issuance).not_to be_nil
1020
+ expect(google_pay_card.debit).not_to be_nil
1021
+ expect(google_pay_card.durbin_regulated).not_to be_nil
1022
+ expect(google_pay_card.healthcare).not_to be_nil
1023
+ expect(google_pay_card.issuing_bank).not_to be_nil
1024
+ expect(google_pay_card.payroll).not_to be_nil
1025
+ expect(google_pay_card.prepaid).not_to be_nil
1026
+ expect(google_pay_card.product_id).not_to be_nil
1027
1027
  end
1028
1028
 
1029
1029
  it "returns associated google pay network tokens" do
1030
1030
  result = Braintree::Customer.create(
1031
1031
  :payment_method_nonce => Braintree::Test::Nonce::GooglePayMasterCard,
1032
1032
  )
1033
- result.success?.should == true
1033
+ expect(result.success?).to eq(true)
1034
1034
 
1035
1035
  found_customer = Braintree::Customer.find(result.customer.id)
1036
- found_customer.google_pay_cards.size.should == 1
1037
- found_customer.payment_methods.size.should == 1
1036
+ expect(found_customer.google_pay_cards.size).to eq(1)
1037
+ expect(found_customer.payment_methods.size).to eq(1)
1038
1038
  google_pay_card = found_customer.google_pay_cards.first
1039
- google_pay_card.should be_a Braintree::GooglePayCard
1040
- google_pay_card.token.should_not be_nil
1041
- google_pay_card.expiration_year.should_not be_nil
1042
- google_pay_card.is_network_tokenized?.should == true
1043
- google_pay_card.commercial.should_not be_nil
1044
- google_pay_card.country_of_issuance.should_not be_nil
1045
- google_pay_card.debit.should_not be_nil
1046
- google_pay_card.durbin_regulated.should_not be_nil
1047
- google_pay_card.healthcare.should_not be_nil
1048
- google_pay_card.issuing_bank.should_not be_nil
1049
- google_pay_card.payroll.should_not be_nil
1050
- google_pay_card.prepaid.should_not be_nil
1051
- google_pay_card.product_id.should_not be_nil
1039
+ expect(google_pay_card).to be_a Braintree::GooglePayCard
1040
+ expect(google_pay_card.token).not_to be_nil
1041
+ expect(google_pay_card.expiration_year).not_to be_nil
1042
+ expect(google_pay_card.is_network_tokenized?).to eq(true)
1043
+ expect(google_pay_card.commercial).not_to be_nil
1044
+ expect(google_pay_card.country_of_issuance).not_to be_nil
1045
+ expect(google_pay_card.debit).not_to be_nil
1046
+ expect(google_pay_card.durbin_regulated).not_to be_nil
1047
+ expect(google_pay_card.healthcare).not_to be_nil
1048
+ expect(google_pay_card.issuing_bank).not_to be_nil
1049
+ expect(google_pay_card.payroll).not_to be_nil
1050
+ expect(google_pay_card.prepaid).not_to be_nil
1051
+ expect(google_pay_card.product_id).not_to be_nil
1052
1052
  end
1053
1053
 
1054
1054
  it "returns associated venmo accounts" do
1055
1055
  result = Braintree::Customer.create(
1056
1056
  :payment_method_nonce => Braintree::Test::Nonce::VenmoAccount,
1057
1057
  )
1058
- result.success?.should == true
1058
+ expect(result.success?).to eq(true)
1059
1059
 
1060
1060
  found_customer = Braintree::Customer.find(result.customer.id)
1061
- found_customer.venmo_accounts.size.should == 1
1062
- found_customer.payment_methods.size.should == 1
1061
+ expect(found_customer.venmo_accounts.size).to eq(1)
1062
+ expect(found_customer.payment_methods.size).to eq(1)
1063
1063
  venmo_account = found_customer.venmo_accounts.first
1064
- venmo_account.should be_a Braintree::VenmoAccount
1065
- venmo_account.token.should_not be_nil
1066
- venmo_account.username.should_not be_nil
1064
+ expect(venmo_account).to be_a Braintree::VenmoAccount
1065
+ expect(venmo_account.token).not_to be_nil
1066
+ expect(venmo_account.username).not_to be_nil
1067
1067
  end
1068
1068
 
1069
1069
  xit "returns associated us bank accounts" do
@@ -1075,25 +1075,25 @@ describe Braintree::Customer do
1075
1075
  }
1076
1076
  },
1077
1077
  )
1078
- result.should be_success
1078
+ expect(result).to be_success
1079
1079
 
1080
1080
  found_customer = Braintree::Customer.find(result.customer.id)
1081
- found_customer.us_bank_accounts.size.should == 1
1082
- found_customer.payment_methods.size.should == 1
1081
+ expect(found_customer.us_bank_accounts.size).to eq(1)
1082
+ expect(found_customer.payment_methods.size).to eq(1)
1083
1083
 
1084
1084
  us_bank_account = found_customer.us_bank_accounts.first
1085
- us_bank_account.should be_a(Braintree::UsBankAccount)
1086
- us_bank_account.routing_number.should == "021000021"
1087
- us_bank_account.last_4.should == "0000"
1088
- us_bank_account.account_type.should == "checking"
1089
- us_bank_account.account_holder_name.should == "John Doe"
1090
- us_bank_account.bank_name.should =~ /CHASE/
1085
+ expect(us_bank_account).to be_a(Braintree::UsBankAccount)
1086
+ expect(us_bank_account.routing_number).to eq("021000021")
1087
+ expect(us_bank_account.last_4).to eq("0000")
1088
+ expect(us_bank_account.account_type).to eq("checking")
1089
+ expect(us_bank_account.account_holder_name).to eq("John Doe")
1090
+ expect(us_bank_account.bank_name).to match(/CHASE/)
1091
1091
  end
1092
1092
 
1093
1093
  it "works for a blank customer" do
1094
1094
  created_customer = Braintree::Customer.create!
1095
1095
  found_customer = Braintree::Customer.find(created_customer.id)
1096
- found_customer.id.should == created_customer.id
1096
+ expect(found_customer.id).to eq(created_customer.id)
1097
1097
  end
1098
1098
 
1099
1099
  it "raises an ArgumentError if customer_id is not a string" do
@@ -1144,11 +1144,11 @@ describe Braintree::Customer do
1144
1144
  :options => {:verify_card => true},
1145
1145
  },
1146
1146
  )
1147
- result.success?.should == true
1148
- result.customer.id.should == customer.id
1149
- result.customer.first_name.should == "Mr. Joe"
1150
- result.customer.last_name.should == "Super Cool"
1151
- result.customer.custom_fields[:store_me].should == "a value"
1147
+ expect(result.success?).to eq(true)
1148
+ expect(result.customer.id).to eq(customer.id)
1149
+ expect(result.customer.first_name).to eq("Mr. Joe")
1150
+ expect(result.customer.last_name).to eq("Super Cool")
1151
+ expect(result.customer.custom_fields[:store_me]).to eq("a value")
1152
1152
  end
1153
1153
 
1154
1154
  it "validates the presence of three_d_secure_version while passing three_d_secure_pass_thru in update" do
@@ -1197,11 +1197,11 @@ describe Braintree::Customer do
1197
1197
  :store_me => "a value"
1198
1198
  },
1199
1199
  )
1200
- result.success?.should == true
1201
- result.customer.id.should == customer.id
1202
- result.customer.first_name.should == "Mr. Joe"
1203
- result.customer.last_name.should == "Super Cool"
1204
- result.customer.custom_fields[:store_me].should == "a value"
1200
+ expect(result.success?).to eq(true)
1201
+ expect(result.customer.id).to eq(customer.id)
1202
+ expect(result.customer.first_name).to eq("Mr. Joe")
1203
+ expect(result.customer.last_name).to eq("Super Cool")
1204
+ expect(result.customer.custom_fields[:store_me]).to eq("a value")
1205
1205
  end
1206
1206
 
1207
1207
  it "does not update customer with duplicate payment method if fail_on_payment_method option set" do
@@ -1221,8 +1221,8 @@ describe Braintree::Customer do
1221
1221
  }
1222
1222
  },
1223
1223
  )
1224
- result.success?.should == false
1225
- result.errors.for(:customer).for(:credit_card).on(:number)[0].message.should == "Duplicate card exists in the vault."
1224
+ expect(result.success?).to eq(false)
1225
+ expect(result.errors.for(:customer).for(:credit_card).on(:number)[0].message).to eq("Duplicate card exists in the vault.")
1226
1226
  end
1227
1227
 
1228
1228
  it "updates the default payment method" do
@@ -1240,7 +1240,7 @@ describe Braintree::Customer do
1240
1240
  )
1241
1241
 
1242
1242
  payment_method1 = Braintree::PaymentMethod.find(token1)
1243
- payment_method1.should be_default
1243
+ expect(payment_method1).to be_default
1244
1244
 
1245
1245
  token2 = random_payment_method_token
1246
1246
 
@@ -1255,7 +1255,7 @@ describe Braintree::Customer do
1255
1255
  )
1256
1256
 
1257
1257
  payment_method2 = Braintree::PaymentMethod.find(token2)
1258
- payment_method2.should be_default
1258
+ expect(payment_method2).to be_default
1259
1259
  end
1260
1260
 
1261
1261
  it "updates the default payment method in the options" do
@@ -1273,7 +1273,7 @@ describe Braintree::Customer do
1273
1273
  )
1274
1274
 
1275
1275
  payment_method1 = Braintree::PaymentMethod.find(token1)
1276
- payment_method1.should be_default
1276
+ expect(payment_method1).to be_default
1277
1277
 
1278
1278
  token2 = random_payment_method_token
1279
1279
 
@@ -1293,7 +1293,7 @@ describe Braintree::Customer do
1293
1293
  )
1294
1294
 
1295
1295
  payment_method2 = Braintree::PaymentMethod.find(token2)
1296
- payment_method2.should be_default
1296
+ expect(payment_method2).to be_default
1297
1297
  end
1298
1298
 
1299
1299
  it "can use any country code" do
@@ -1316,11 +1316,11 @@ describe Braintree::Customer do
1316
1316
  }
1317
1317
  },
1318
1318
  )
1319
- result.success?.should == true
1320
- result.customer.addresses[0].country_name.should == "Fiji"
1321
- result.customer.addresses[0].country_code_alpha2.should == "FJ"
1322
- result.customer.addresses[0].country_code_alpha3.should == "FJI"
1323
- result.customer.addresses[0].country_code_numeric.should == "242"
1319
+ expect(result.success?).to eq(true)
1320
+ expect(result.customer.addresses[0].country_name).to eq("Fiji")
1321
+ expect(result.customer.addresses[0].country_code_alpha2).to eq("FJ")
1322
+ expect(result.customer.addresses[0].country_code_alpha3).to eq("FJI")
1323
+ expect(result.customer.addresses[0].country_code_numeric).to eq("242")
1324
1324
  end
1325
1325
 
1326
1326
  it "can update the customer, credit card, and billing address in one request" do
@@ -1349,18 +1349,18 @@ describe Braintree::Customer do
1349
1349
  }
1350
1350
  },
1351
1351
  )
1352
- result.success?.should == true
1353
- result.customer.id.should == customer.id
1354
- result.customer.first_name.should == "New Joe"
1352
+ expect(result.success?).to eq(true)
1353
+ expect(result.customer.id).to eq(customer.id)
1354
+ expect(result.customer.first_name).to eq("New Joe")
1355
1355
 
1356
- result.customer.credit_cards.size.should == 1
1356
+ expect(result.customer.credit_cards.size).to eq(1)
1357
1357
  credit_card = result.customer.credit_cards.first
1358
- credit_card.bin.should == Braintree::Test::CreditCardNumbers::Visa.slice(0, 6)
1359
- credit_card.cardholder_name.should == "New Joe Cardholder"
1358
+ expect(credit_card.bin).to eq(Braintree::Test::CreditCardNumbers::Visa.slice(0, 6))
1359
+ expect(credit_card.cardholder_name).to eq("New Joe Cardholder")
1360
1360
 
1361
- credit_card.billing_address.first_name.should == "Joe"
1362
- credit_card.billing_address.last_name.should == "Cool"
1363
- credit_card.billing_address.postal_code.should == "60666"
1361
+ expect(credit_card.billing_address.first_name).to eq("Joe")
1362
+ expect(credit_card.billing_address.last_name).to eq("Cool")
1363
+ expect(credit_card.billing_address.postal_code).to eq("60666")
1364
1364
  end
1365
1365
 
1366
1366
  it "can update the customer and verify_card with a specific verification_amount" do
@@ -1378,7 +1378,7 @@ describe Braintree::Customer do
1378
1378
  :options => {:verify_card => true, :verification_amount => "2.00"}
1379
1379
  },
1380
1380
  )
1381
- result.success?.should == true
1381
+ expect(result.success?).to eq(true)
1382
1382
  end
1383
1383
 
1384
1384
  it "includes risk data when skip_advanced_fraud_checking is false" do
@@ -1443,7 +1443,7 @@ describe Braintree::Customer do
1443
1443
  customer.id,
1444
1444
  :tax_identifiers => [{:country_code => "US", :identifier => "567891234"}],
1445
1445
  )
1446
- result.success?.should == true
1446
+ expect(result.success?).to eq(true)
1447
1447
  end
1448
1448
 
1449
1449
  it "validates presence of three_d_secure_version in 3ds pass thru params" do
@@ -1498,18 +1498,18 @@ describe Braintree::Customer do
1498
1498
  :options => {:verify_card => true}
1499
1499
  },
1500
1500
  )
1501
- result.success?.should == true
1501
+ expect(result.success?).to eq(true)
1502
1502
 
1503
1503
  three_d_secure_info = result.customer.payment_methods.first.verification.three_d_secure_info
1504
- three_d_secure_info.enrolled.should == "Y"
1505
- three_d_secure_info.should be_liability_shifted
1506
- three_d_secure_info.should be_liability_shift_possible
1507
- three_d_secure_info.status.should == "authenticate_successful"
1508
- three_d_secure_info.cavv.should == "cavv_value"
1509
- three_d_secure_info.xid.should == "xid_value"
1510
- three_d_secure_info.eci_flag.should == "05"
1511
- three_d_secure_info.three_d_secure_version.should == "1.0.2"
1512
- three_d_secure_info.ds_transaction_id.should == nil
1504
+ expect(three_d_secure_info.enrolled).to eq("Y")
1505
+ expect(three_d_secure_info).to be_liability_shifted
1506
+ expect(three_d_secure_info).to be_liability_shift_possible
1507
+ expect(three_d_secure_info.status).to eq("authenticate_successful")
1508
+ expect(three_d_secure_info.cavv).to eq("cavv_value")
1509
+ expect(three_d_secure_info.xid).to eq("xid_value")
1510
+ expect(three_d_secure_info.eci_flag).to eq("05")
1511
+ expect(three_d_secure_info.three_d_secure_version).to eq("1.0.2")
1512
+ expect(three_d_secure_info.ds_transaction_id).to eq(nil)
1513
1513
  end
1514
1514
 
1515
1515
  it "can update the nested billing address with billing_address_id" do
@@ -1531,9 +1531,9 @@ describe Braintree::Customer do
1531
1531
  ).customer
1532
1532
 
1533
1533
  billing_address = customer.credit_cards.first.billing_address
1534
- billing_address.id.should == address.id
1535
- billing_address.first_name.should == "John"
1536
- billing_address.last_name.should == "Doe"
1534
+ expect(billing_address.id).to eq(address.id)
1535
+ expect(billing_address.first_name).to eq("John")
1536
+ expect(billing_address.last_name).to eq("Doe")
1537
1537
  end
1538
1538
 
1539
1539
  it "returns an error response if invalid" do
@@ -1542,8 +1542,8 @@ describe Braintree::Customer do
1542
1542
  customer.id,
1543
1543
  :email => "@invalid.com",
1544
1544
  )
1545
- result.success?.should == false
1546
- result.errors.for(:customer).on(:email)[0].message.should == "Email is an invalid format."
1545
+ expect(result.success?).to eq(false)
1546
+ expect(result.errors.for(:customer).on(:email)[0].message).to eq("Email is an invalid format.")
1547
1547
  end
1548
1548
 
1549
1549
  context "verification_currency_iso_code" do
@@ -1562,7 +1562,7 @@ describe Braintree::Customer do
1562
1562
  :options => {:verify_card => true, :verification_currency_iso_code => "USD"}
1563
1563
  },
1564
1564
  )
1565
- result.success?.should == true
1565
+ expect(result.success?).to eq(true)
1566
1566
  result.customer.credit_cards[0].verification.currency_iso_code == "USD"
1567
1567
  end
1568
1568
 
@@ -1581,7 +1581,7 @@ describe Braintree::Customer do
1581
1581
  :options => {:verify_card => true, :verification_merchant_account_id => SpecHelper::NonDefaultMerchantAccountId, :verification_currency_iso_code => "USD"}
1582
1582
  },
1583
1583
  )
1584
- result.success?.should == true
1584
+ expect(result.success?).to eq(true)
1585
1585
  result.customer.credit_cards[0].verification.currency_iso_code == "USD"
1586
1586
  result.customer.credit_cards[0].verification.merchant_account_id == SpecHelper::NonDefaultMerchantAccountId
1587
1587
  end
@@ -1601,7 +1601,7 @@ describe Braintree::Customer do
1601
1601
  :options => {:verify_card => true, :verification_currency_iso_code => "GBP"}
1602
1602
  },
1603
1603
  )
1604
- result.success?.should == false
1604
+ expect(result.success?).to eq(false)
1605
1605
  expect(result.errors.for(:customer).for(:credit_card).for(:options).on(:verification_currency_iso_code)[0].code).to eq Braintree::ErrorCodes::CreditCard::CurrencyCodeNotSupportedByMerchantAccount
1606
1606
 
1607
1607
  end
@@ -1621,7 +1621,7 @@ describe Braintree::Customer do
1621
1621
  :options => {:verify_card => true, :verification_merchant_account_id => SpecHelper::NonDefaultMerchantAccountId, :verification_currency_iso_code => "GBP"}
1622
1622
  },
1623
1623
  )
1624
- result.success?.should == false
1624
+ expect(result.success?).to eq(false)
1625
1625
  expect(result.errors.for(:customer).for(:credit_card).for(:options).on(:verification_currency_iso_code)[0].code).to eq Braintree::ErrorCodes::CreditCard::CurrencyCodeNotSupportedByMerchantAccount
1626
1626
 
1627
1627
  end
@@ -1679,9 +1679,9 @@ describe Braintree::Customer do
1679
1679
  :first_name => "Mr. Joe",
1680
1680
  :last_name => "Super Cool",
1681
1681
  )
1682
- updated_customer.first_name.should == "Mr. Joe"
1683
- updated_customer.last_name.should == "Super Cool"
1684
- updated_customer.updated_at.between?(Time.now - 60, Time.now).should == true
1682
+ expect(updated_customer.first_name).to eq("Mr. Joe")
1683
+ expect(updated_customer.last_name).to eq("Super Cool")
1684
+ expect(updated_customer.updated_at.between?(Time.now - 60, Time.now)).to eq(true)
1685
1685
  end
1686
1686
 
1687
1687
  it "raises an error if unsuccessful" do
@@ -1715,7 +1715,7 @@ describe Braintree::Customer do
1715
1715
 
1716
1716
  customer = Braintree::Customer.find(customer.id)
1717
1717
 
1718
- customer.default_payment_method.should == default_payment_method
1718
+ expect(customer.default_payment_method).to eq(default_payment_method)
1719
1719
  end
1720
1720
  end
1721
1721
 
@@ -1726,7 +1726,7 @@ describe Braintree::Customer do
1726
1726
  :payment_method_nonce => Braintree::Test::Nonce::PayPalBillingAgreement,
1727
1727
  )
1728
1728
 
1729
- result.should be_success
1729
+ expect(result).to be_success
1730
1730
  end
1731
1731
 
1732
1732
  it "updates a customer with a future paypal account" do
@@ -1754,8 +1754,8 @@ describe Braintree::Customer do
1754
1754
  :payment_method_nonce => nonce,
1755
1755
  )
1756
1756
 
1757
- result.should be_success
1758
- result.customer.default_payment_method.token.should == paypal_account_token
1757
+ expect(result).to be_success
1758
+ expect(result.customer.default_payment_method.token).to eq(paypal_account_token)
1759
1759
  end
1760
1760
  end
1761
1761
 
@@ -1792,7 +1792,7 @@ describe Braintree::Customer do
1792
1792
  },
1793
1793
  )
1794
1794
 
1795
- result.should be_success
1795
+ expect(result).to be_success
1796
1796
  end
1797
1797
 
1798
1798
  it "updates a customer with payment_method_nonce and paypal options" do
@@ -1838,8 +1838,8 @@ describe Braintree::Customer do
1838
1838
  },
1839
1839
  )
1840
1840
 
1841
- result.should be_success
1842
- result.customer.default_payment_method.token.should == paypal_account_token
1841
+ expect(result).to be_success
1842
+ expect(result.customer.default_payment_method.token).to eq(paypal_account_token)
1843
1843
  end
1844
1844
  end
1845
1845
 
@@ -1849,7 +1849,7 @@ describe Braintree::Customer do
1849
1849
  :payment_method_nonce => Braintree::Test::Nonce::PayPalOneTimePayment,
1850
1850
  )
1851
1851
 
1852
- result.should_not be_success
1852
+ expect(result).not_to be_success
1853
1853
  end
1854
1854
 
1855
1855
  it "does not update a customer with a onetime paypal account" do
@@ -1879,8 +1879,8 @@ describe Braintree::Customer do
1879
1879
  :payment_method_nonce => nonce,
1880
1880
  )
1881
1881
 
1882
- result.should_not be_success
1883
- customer.default_payment_method.token.should == credit_card_token
1882
+ expect(result).not_to be_success
1883
+ expect(customer.default_payment_method.token).to eq(credit_card_token)
1884
1884
  end
1885
1885
  end
1886
1886
  end