braintree 4.14.0 → 4.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/braintree/credit_card.rb +13 -0
- data/lib/braintree/credit_card_gateway.rb +15 -3
- data/lib/braintree/payment_method_gateway.rb +15 -3
- data/lib/braintree/test/nonce.rb +1 -0
- data/lib/braintree/test/venmo_sdk.rb +2 -0
- data/lib/braintree/transaction/credit_card_details.rb +3 -0
- data/lib/braintree/transaction/local_payment_details.rb +2 -0
- data/lib/braintree/transaction.rb +5 -4
- data/lib/braintree/transaction_gateway.rb +15 -3
- data/lib/braintree/transaction_search.rb +6 -5
- data/lib/braintree/version.rb +1 -1
- data/lib/braintree/webhook_notification.rb +1 -0
- data/lib/braintree/webhook_testing_gateway.rb +17 -0
- data/spec/integration/braintree/add_on_spec.rb +9 -9
- data/spec/integration/braintree/address_spec.rb +69 -69
- data/spec/integration/braintree/advanced_search_spec.rb +45 -45
- data/spec/integration/braintree/apple_pay_spec.rb +8 -8
- data/spec/integration/braintree/client_api/client_token_spec.rb +15 -15
- data/spec/integration/braintree/credit_card_spec.rb +223 -223
- data/spec/integration/braintree/credit_card_verification_search_spec.rb +16 -16
- data/spec/integration/braintree/credit_card_verification_spec.rb +52 -52
- data/spec/integration/braintree/customer_search_spec.rb +20 -20
- data/spec/integration/braintree/customer_spec.rb +313 -313
- data/spec/integration/braintree/disbursement_spec.rb +2 -2
- data/spec/integration/braintree/discount_spec.rb +9 -9
- data/spec/integration/braintree/dispute_spec.rb +87 -87
- data/spec/integration/braintree/document_upload_spec.rb +17 -17
- data/spec/integration/braintree/error_codes_spec.rb +2 -2
- data/spec/integration/braintree/http_spec.rb +28 -28
- data/spec/integration/braintree/merchant_account_spec.rb +127 -127
- data/spec/integration/braintree/merchant_spec.rb +103 -103
- data/spec/integration/braintree/oauth_spec.rb +61 -61
- data/spec/integration/braintree/payment_method_nonce_spec.rb +73 -73
- data/spec/integration/braintree/payment_method_spec.rb +389 -389
- data/spec/integration/braintree/payment_method_us_bank_account_spec.rb +78 -78
- data/spec/integration/braintree/paypal_account_spec.rb +38 -38
- data/spec/integration/braintree/plan_spec.rb +15 -15
- data/spec/integration/braintree/samsung_pay_card_spec.rb +65 -65
- data/spec/integration/braintree/sepa_direct_debit_account_spec.rb +51 -51
- data/spec/integration/braintree/settlement_batch_summary_spec.rb +11 -11
- data/spec/integration/braintree/subscription_spec.rb +364 -364
- data/spec/integration/braintree/test/transaction_amounts_spec.rb +2 -2
- data/spec/integration/braintree/test_transaction_spec.rb +19 -19
- data/spec/integration/braintree/transaction_line_item_spec.rb +6 -6
- data/spec/integration/braintree/transaction_search_spec.rb +198 -165
- data/spec/integration/braintree/transaction_spec.rb +1315 -1149
- data/spec/integration/braintree/transaction_us_bank_account_spec.rb +32 -32
- data/spec/integration/braintree/us_bank_account_spec.rb +30 -30
- data/spec/integration/braintree/us_bank_account_verification_search_spec.rb +18 -18
- data/spec/integration/braintree/us_bank_account_verification_spec.rb +33 -33
- data/spec/integration/braintree/visa_checkout_card_spec.rb +57 -57
- data/spec/spec_helper.rb +9 -8
- data/spec/unit/braintree/address_spec.rb +8 -8
- data/spec/unit/braintree/base_module_spec.rb +4 -4
- data/spec/unit/braintree/client_token_spec.rb +2 -2
- data/spec/unit/braintree/configuration_spec.rb +57 -57
- data/spec/unit/braintree/credentials_parser_spec.rb +6 -6
- data/spec/unit/braintree/credit_card_spec.rb +31 -29
- data/spec/unit/braintree/credit_card_verification_gateway_spec.rb +28 -28
- data/spec/unit/braintree/credit_card_verification_search_spec.rb +9 -9
- data/spec/unit/braintree/credit_card_verification_spec.rb +17 -17
- data/spec/unit/braintree/customer_spec.rb +41 -40
- data/spec/unit/braintree/digest_spec.rb +5 -5
- data/spec/unit/braintree/disbursement_spec.rb +11 -11
- data/spec/unit/braintree/dispute_search_spec.rb +2 -2
- data/spec/unit/braintree/dispute_spec.rb +56 -56
- data/spec/unit/braintree/document_upload_spec.rb +8 -8
- data/spec/unit/braintree/enriched_customer_data_spec.rb +2 -2
- data/spec/unit/braintree/error_result_spec.rb +5 -5
- data/spec/unit/braintree/errors_spec.rb +9 -9
- data/spec/unit/braintree/http_spec.rb +8 -8
- data/spec/unit/braintree/local_payment_completed_spec.rb +11 -11
- data/spec/unit/braintree/local_payment_expired_spec.rb +2 -2
- data/spec/unit/braintree/local_payment_funded_spec.rb +6 -6
- data/spec/unit/braintree/merchant_account_spec.rb +4 -4
- data/spec/unit/braintree/modification_spec.rb +1 -1
- data/spec/unit/braintree/payment_method_customer_data_updated_metadata_spec.rb +6 -6
- data/spec/unit/braintree/payment_method_nonce_details_payer_info_spec.rb +7 -7
- data/spec/unit/braintree/payment_method_nonce_details_spec.rb +14 -14
- data/spec/unit/braintree/payment_method_spec.rb +19 -19
- data/spec/unit/braintree/paypal_account_spec.rb +4 -4
- data/spec/unit/braintree/resource_collection_spec.rb +7 -7
- data/spec/unit/braintree/sepa_debit_account_nonce_details_spec.rb +1 -1
- data/spec/unit/braintree/sha256_digest_spec.rb +1 -1
- data/spec/unit/braintree/signature_service_spec.rb +2 -2
- data/spec/unit/braintree/subscription_search_spec.rb +17 -17
- data/spec/unit/braintree/subscription_spec.rb +8 -8
- data/spec/unit/braintree/successful_result_spec.rb +5 -5
- data/spec/unit/braintree/three_d_secure_info_spec.rb +20 -20
- data/spec/unit/braintree/transaction/credit_card_details_spec.rb +5 -5
- data/spec/unit/braintree/transaction/customer_details_spec.rb +1 -1
- data/spec/unit/braintree/transaction/deposit_details_spec.rb +2 -2
- data/spec/unit/braintree/transaction/local_payment_details_spec.rb +30 -0
- data/spec/unit/braintree/transaction_gateway_spec.rb +9 -6
- data/spec/unit/braintree/transaction_search_spec.rb +2 -2
- data/spec/unit/braintree/transaction_spec.rb +101 -93
- data/spec/unit/braintree/unknown_payment_method_spec.rb +4 -4
- data/spec/unit/braintree/us_bank_account_spec.rb +2 -2
- data/spec/unit/braintree/us_bank_account_verification_search_spec.rb +7 -7
- data/spec/unit/braintree/us_bank_account_verification_spec.rb +7 -7
- data/spec/unit/braintree/util_spec.rb +27 -27
- data/spec/unit/braintree/validation_error_collection_spec.rb +34 -34
- data/spec/unit/braintree/validation_error_spec.rb +4 -4
- data/spec/unit/braintree/venmo_profile_data_spec.rb +5 -5
- data/spec/unit/braintree/webhook_notification_spec.rb +206 -191
- data/spec/unit/braintree/xml/libxml_spec.rb +5 -5
- data/spec/unit/braintree/xml/parser_spec.rb +8 -8
- data/spec/unit/braintree/xml/rexml_spec.rb +5 -5
- data/spec/unit/braintree/xml_spec.rb +17 -17
- data/spec/unit/braintree_spec.rb +2 -2
- metadata +3 -2
|
@@ -78,9 +78,9 @@ describe Braintree::Dispute do
|
|
|
78
78
|
end
|
|
79
79
|
|
|
80
80
|
it "does not raise an exception if the id is a fixnum" do
|
|
81
|
-
Braintree::Http.
|
|
82
|
-
Braintree::Dispute.
|
|
83
|
-
Braintree::ErrorResult.
|
|
81
|
+
allow(Braintree::Http).to receive(:new).and_return double.as_null_object
|
|
82
|
+
allow(Braintree::Dispute).to receive(:_new).and_return nil
|
|
83
|
+
allow(Braintree::ErrorResult).to receive(:new).and_return nil
|
|
84
84
|
|
|
85
85
|
expect do
|
|
86
86
|
Braintree::Dispute.public_send(method_name, 8675309)
|
|
@@ -109,8 +109,8 @@ describe Braintree::Dispute do
|
|
|
109
109
|
end
|
|
110
110
|
|
|
111
111
|
it "does not raise an exception if the dispute_id is a fixnum" do
|
|
112
|
-
Braintree::Http.
|
|
113
|
-
Braintree::Dispute.
|
|
112
|
+
allow(Braintree::Http).to receive(:new).and_return double.as_null_object
|
|
113
|
+
allow(Braintree::Dispute).to receive(:_new).and_return nil
|
|
114
114
|
expect do
|
|
115
115
|
Braintree::Dispute.add_file_evidence(8675309, "doc_upload_id")
|
|
116
116
|
end.to_not raise_error
|
|
@@ -135,8 +135,8 @@ describe Braintree::Dispute do
|
|
|
135
135
|
end
|
|
136
136
|
|
|
137
137
|
it "does not raise an exception if the document_upload_id is a fixnum" do
|
|
138
|
-
Braintree::Http.
|
|
139
|
-
Braintree::Dispute.
|
|
138
|
+
allow(Braintree::Http).to receive(:new).and_return double.as_null_object
|
|
139
|
+
allow(Braintree::Dispute).to receive(:_new).and_return nil
|
|
140
140
|
expect do
|
|
141
141
|
Braintree::Dispute.add_file_evidence("dispute_id", 8675309)
|
|
142
142
|
end.to_not raise_error
|
|
@@ -144,7 +144,7 @@ describe Braintree::Dispute do
|
|
|
144
144
|
|
|
145
145
|
describe "with optional params" do
|
|
146
146
|
it "does not raise an exception if the optional parameters are valid" do
|
|
147
|
-
Braintree::Http.
|
|
147
|
+
allow(Braintree::Http).to receive(:new).and_return double.as_null_object
|
|
148
148
|
expect do
|
|
149
149
|
Braintree::Dispute.add_file_evidence("dispute_id", {category: "GENERAL", document_id: "document_id"})
|
|
150
150
|
end.to_not raise_error
|
|
@@ -157,7 +157,7 @@ describe Braintree::Dispute do
|
|
|
157
157
|
end
|
|
158
158
|
|
|
159
159
|
it "raises an exception if the param tag is not a string" do
|
|
160
|
-
Braintree::Http.
|
|
160
|
+
allow(Braintree::Http).to receive(:new).and_return double.as_null_object
|
|
161
161
|
|
|
162
162
|
expect do
|
|
163
163
|
Braintree::Dispute.add_file_evidence("dispute_id", {category: 3, document_id: "document_id"})
|
|
@@ -186,8 +186,8 @@ describe Braintree::Dispute do
|
|
|
186
186
|
end
|
|
187
187
|
|
|
188
188
|
it "does not raise an exception if the id is a fixnum" do
|
|
189
|
-
Braintree::Http.
|
|
190
|
-
Braintree::Dispute.
|
|
189
|
+
allow(Braintree::Http).to receive(:new).and_return double.as_null_object
|
|
190
|
+
allow(Braintree::Dispute).to receive(:_new).and_return nil
|
|
191
191
|
expect do
|
|
192
192
|
Braintree::Dispute.add_text_evidence(8675309, "text evidence")
|
|
193
193
|
end.to_not raise_error
|
|
@@ -207,7 +207,7 @@ describe Braintree::Dispute do
|
|
|
207
207
|
|
|
208
208
|
describe "with optional params" do
|
|
209
209
|
it "does not raise an exception if the optional parameters are valid" do
|
|
210
|
-
Braintree::Http.
|
|
210
|
+
allow(Braintree::Http).to receive(:new).and_return double.as_null_object
|
|
211
211
|
expect do
|
|
212
212
|
Braintree::Dispute.add_text_evidence("dispute_id", {content: "a", category: "", sequence_number: 3})
|
|
213
213
|
end.to_not raise_error
|
|
@@ -281,8 +281,8 @@ describe Braintree::Dispute do
|
|
|
281
281
|
it "converts string amount_dispute and amount_won" do
|
|
282
282
|
dispute = Braintree::Dispute._new(attributes)
|
|
283
283
|
|
|
284
|
-
dispute.amount_disputed.
|
|
285
|
-
dispute.amount_won.
|
|
284
|
+
expect(dispute.amount_disputed).to eq(500.0)
|
|
285
|
+
expect(dispute.amount_won).to eq(0.0)
|
|
286
286
|
end
|
|
287
287
|
|
|
288
288
|
it "returns 'Effortless Chargeback Protection tool' when initial chargeback_protection_level is effortless" do
|
|
@@ -336,74 +336,74 @@ describe Braintree::Dispute do
|
|
|
336
336
|
|
|
337
337
|
dispute = Braintree::Dispute._new(attributes)
|
|
338
338
|
|
|
339
|
-
dispute.send(field).
|
|
339
|
+
expect(dispute.send(field)).to eq(nil)
|
|
340
340
|
end
|
|
341
341
|
end
|
|
342
342
|
|
|
343
343
|
it "converts date_opened, date_won, reply_by_date, received_date from String to Date" do
|
|
344
344
|
dispute = Braintree::Dispute._new(attributes.merge(:reply_by_date => "2009-03-14"))
|
|
345
345
|
|
|
346
|
-
dispute.date_opened.
|
|
347
|
-
dispute.date_won.
|
|
348
|
-
dispute.received_date.
|
|
349
|
-
dispute.reply_by_date.
|
|
346
|
+
expect(dispute.date_opened).to eq(Date.new(2009, 3, 9))
|
|
347
|
+
expect(dispute.date_won).to eq(Date.new(2009, 4, 15))
|
|
348
|
+
expect(dispute.received_date).to eq(Date.new(2009, 3, 9))
|
|
349
|
+
expect(dispute.reply_by_date).to eq(Date.new(2009, 3, 14))
|
|
350
350
|
end
|
|
351
351
|
|
|
352
352
|
it "converts transaction hash into a Dispute::TransactionDetails object first" do
|
|
353
353
|
dispute = Braintree::Dispute._new(attributes)
|
|
354
354
|
|
|
355
|
-
dispute.transaction_details.id.
|
|
356
|
-
dispute.transaction_details.amount.
|
|
355
|
+
expect(dispute.transaction_details.id).to eq("open_disputed_transaction")
|
|
356
|
+
expect(dispute.transaction_details.amount).to eq(31.00)
|
|
357
357
|
end
|
|
358
358
|
|
|
359
359
|
it "converts transaction hash into a Dispute::Transaction object" do
|
|
360
360
|
dispute = Braintree::Dispute._new(attributes)
|
|
361
361
|
|
|
362
|
-
dispute.transaction.amount.
|
|
363
|
-
dispute.transaction.id.
|
|
364
|
-
dispute.transaction.created_at.
|
|
365
|
-
dispute.transaction.installment_count.
|
|
366
|
-
dispute.transaction.order_id.
|
|
367
|
-
dispute.transaction.purchase_order_number.
|
|
368
|
-
dispute.transaction.payment_instrument_subtype.
|
|
362
|
+
expect(dispute.transaction.amount).to eq(31.00)
|
|
363
|
+
expect(dispute.transaction.id).to eq("open_disputed_transaction")
|
|
364
|
+
expect(dispute.transaction.created_at).to eq(Time.utc(2009, 2, 9, 12, 59, 59))
|
|
365
|
+
expect(dispute.transaction.installment_count).to eq(nil)
|
|
366
|
+
expect(dispute.transaction.order_id).to eq(nil)
|
|
367
|
+
expect(dispute.transaction.purchase_order_number).to eq("po")
|
|
368
|
+
expect(dispute.transaction.payment_instrument_subtype).to eq("Visa")
|
|
369
369
|
end
|
|
370
370
|
|
|
371
371
|
it "converts status_history hash into an array of Dispute::StatusHistory objects" do
|
|
372
372
|
dispute = Braintree::Dispute._new(attributes)
|
|
373
373
|
|
|
374
|
-
dispute.status_history.length.
|
|
374
|
+
expect(dispute.status_history.length).to eq(1)
|
|
375
375
|
status_history_1 = dispute.status_history.first
|
|
376
|
-
status_history_1.status.
|
|
377
|
-
status_history_1.timestamp.
|
|
376
|
+
expect(status_history_1.status).to eq(Braintree::Dispute::Status::Open)
|
|
377
|
+
expect(status_history_1.timestamp).to eq(Time.utc(2009, 3, 9, 10, 50, 39))
|
|
378
378
|
end
|
|
379
379
|
|
|
380
380
|
it "converts evidence hash into an array of Dispute::Evidence objects" do
|
|
381
381
|
dispute = Braintree::Dispute._new(attributes)
|
|
382
382
|
|
|
383
|
-
dispute.evidence.length.
|
|
383
|
+
expect(dispute.evidence.length).to eq(2)
|
|
384
384
|
evidence1 = dispute.evidence.first
|
|
385
|
-
evidence1.comment.
|
|
386
|
-
evidence1.created_at.
|
|
387
|
-
evidence1.id.
|
|
388
|
-
evidence1.sent_to_processor_at.
|
|
389
|
-
evidence1.url.
|
|
385
|
+
expect(evidence1.comment).to eq(nil)
|
|
386
|
+
expect(evidence1.created_at).to eq(Time.utc(2009, 3, 10, 12, 5, 20))
|
|
387
|
+
expect(evidence1.id).to eq("evidence1")
|
|
388
|
+
expect(evidence1.sent_to_processor_at).to eq(nil)
|
|
389
|
+
expect(evidence1.url).to eq("url_of_file_evidence")
|
|
390
390
|
|
|
391
391
|
evidence2 = dispute.evidence.last
|
|
392
|
-
evidence2.comment.
|
|
393
|
-
evidence2.created_at.
|
|
394
|
-
evidence2.id.
|
|
395
|
-
evidence2.sent_to_processor_at.
|
|
396
|
-
evidence2.url.
|
|
392
|
+
expect(evidence2.comment).to eq("text evidence")
|
|
393
|
+
expect(evidence2.created_at).to eq(Time.utc(2009, 3, 10, 12, 5, 21))
|
|
394
|
+
expect(evidence2.id).to eq("evidence2")
|
|
395
|
+
expect(evidence2.sent_to_processor_at).to eq(Date.new(2009, 3, 13))
|
|
396
|
+
expect(evidence2.url).to eq(nil)
|
|
397
397
|
end
|
|
398
398
|
|
|
399
399
|
it "converts paypal_messages hash into an array of Dispute::PayPalMessage objects" do
|
|
400
400
|
dispute = Braintree::Dispute._new(attributes)
|
|
401
401
|
|
|
402
|
-
dispute.paypal_messages.length.
|
|
402
|
+
expect(dispute.paypal_messages.length).to eq(1)
|
|
403
403
|
paypal_message_1 = dispute.paypal_messages.first
|
|
404
|
-
paypal_message_1.message.
|
|
405
|
-
paypal_message_1.sender.
|
|
406
|
-
paypal_message_1.sent_at.
|
|
404
|
+
expect(paypal_message_1.message).to eq("message")
|
|
405
|
+
expect(paypal_message_1.sender).to eq("seller")
|
|
406
|
+
expect(paypal_message_1.sent_at).to eq(Time.utc(2009, 3, 9, 10, 50, 39))
|
|
407
407
|
end
|
|
408
408
|
|
|
409
409
|
it "handles nil evidence" do
|
|
@@ -411,7 +411,7 @@ describe Braintree::Dispute do
|
|
|
411
411
|
|
|
412
412
|
dispute = Braintree::Dispute._new(attributes)
|
|
413
413
|
|
|
414
|
-
dispute.evidence.
|
|
414
|
+
expect(dispute.evidence).to eq(nil)
|
|
415
415
|
end
|
|
416
416
|
|
|
417
417
|
it "handles nil paypal_messages" do
|
|
@@ -419,15 +419,15 @@ describe Braintree::Dispute do
|
|
|
419
419
|
|
|
420
420
|
dispute = Braintree::Dispute._new(attributes)
|
|
421
421
|
|
|
422
|
-
dispute.paypal_messages.
|
|
422
|
+
expect(dispute.paypal_messages).to eq(nil)
|
|
423
423
|
end
|
|
424
424
|
|
|
425
425
|
it "sets the older webhook fields for backwards compatibility" do
|
|
426
426
|
dispute = Braintree::Dispute._new(attributes)
|
|
427
427
|
|
|
428
|
-
dispute.amount.
|
|
429
|
-
dispute.date_opened.
|
|
430
|
-
dispute.date_won.
|
|
428
|
+
expect(dispute.amount).to eq(31.00)
|
|
429
|
+
expect(dispute.date_opened).to eq(Date.new(2009, 3, 9))
|
|
430
|
+
expect(dispute.date_won).to eq(Date.new(2009, 4, 15))
|
|
431
431
|
end
|
|
432
432
|
|
|
433
433
|
it "returns pre_dispute_program value" do
|
|
@@ -443,21 +443,21 @@ describe Braintree::Dispute do
|
|
|
443
443
|
first = Braintree::Dispute._new(attributes)
|
|
444
444
|
second = Braintree::Dispute._new(attributes)
|
|
445
445
|
|
|
446
|
-
first.
|
|
447
|
-
second.
|
|
446
|
+
expect(first).to eq(second)
|
|
447
|
+
expect(second).to eq(first)
|
|
448
448
|
end
|
|
449
449
|
|
|
450
450
|
it "returns false when given a dispute with a different id" do
|
|
451
451
|
first = Braintree::Dispute._new(attributes)
|
|
452
452
|
second = Braintree::Dispute._new(attributes.merge(:id => "1234"))
|
|
453
453
|
|
|
454
|
-
first.
|
|
455
|
-
second.
|
|
454
|
+
expect(first).not_to eq(second)
|
|
455
|
+
expect(second).not_to eq(first)
|
|
456
456
|
end
|
|
457
457
|
|
|
458
458
|
it "returns false when not given a dispute" do
|
|
459
459
|
dispute = Braintree::Dispute._new(attributes)
|
|
460
|
-
dispute.
|
|
460
|
+
expect(dispute).not_to eq("not a dispute")
|
|
461
461
|
end
|
|
462
462
|
end
|
|
463
463
|
|
|
@@ -5,11 +5,11 @@ describe Braintree::DocumentUpload do
|
|
|
5
5
|
it "sets attributes" do
|
|
6
6
|
response = {:size => 555, :kind => "evidence_document", :name => "up_file.pdf", :content_type => "application/pdf", :id => "my_id"}
|
|
7
7
|
document_upload = Braintree::DocumentUpload._new(response)
|
|
8
|
-
document_upload.id.
|
|
9
|
-
document_upload.size.
|
|
10
|
-
document_upload.name.
|
|
11
|
-
document_upload.content_type.
|
|
12
|
-
document_upload.kind.
|
|
8
|
+
expect(document_upload.id).to eq("my_id")
|
|
9
|
+
expect(document_upload.size).to eq(555)
|
|
10
|
+
expect(document_upload.name).to eq("up_file.pdf")
|
|
11
|
+
expect(document_upload.content_type).to eq("application/pdf")
|
|
12
|
+
expect(document_upload.kind).to eq(Braintree::DocumentUpload::Kind::EvidenceDocument)
|
|
13
13
|
end
|
|
14
14
|
end
|
|
15
15
|
|
|
@@ -17,19 +17,19 @@ describe Braintree::DocumentUpload do
|
|
|
17
17
|
it "sets identity document" do
|
|
18
18
|
response = {:size => 555, :kind => "identity_document", :name => "up_file.pdf", :content_type => "application/pdf", :id => "my_id"}
|
|
19
19
|
document_upload = Braintree::DocumentUpload._new(response)
|
|
20
|
-
document_upload.kind.
|
|
20
|
+
expect(document_upload.kind).to eq(Braintree::DocumentUpload::Kind::IdentityDocument)
|
|
21
21
|
end
|
|
22
22
|
|
|
23
23
|
it "sets evidence document" do
|
|
24
24
|
response = {:size => 555, :kind => "evidence_document", :name => "up_file.pdf", :content_type => "application/pdf", :id => "my_id"}
|
|
25
25
|
document_upload = Braintree::DocumentUpload._new(response)
|
|
26
|
-
document_upload.kind.
|
|
26
|
+
expect(document_upload.kind).to eq(Braintree::DocumentUpload::Kind::EvidenceDocument)
|
|
27
27
|
end
|
|
28
28
|
|
|
29
29
|
it "sets payout invoice document" do
|
|
30
30
|
response = {:size => 555, :kind => "payout_invoice_document", :name => "up_file.pdf", :content_type => "application/pdf", :id => "my_id"}
|
|
31
31
|
document_upload = Braintree::DocumentUpload._new(response)
|
|
32
|
-
document_upload.kind.
|
|
32
|
+
expect(document_upload.kind).to eq(Braintree::DocumentUpload::Kind::PayoutInvoiceDocument)
|
|
33
33
|
end
|
|
34
34
|
end
|
|
35
35
|
end
|
|
@@ -25,8 +25,8 @@ describe Braintree::EnrichedCustomerData do
|
|
|
25
25
|
|
|
26
26
|
payment_method_customer_data_updated = Braintree::EnrichedCustomerData._new(params)
|
|
27
27
|
|
|
28
|
-
payment_method_customer_data_updated.profile_data.
|
|
29
|
-
payment_method_customer_data_updated.fields_updated.
|
|
28
|
+
expect(payment_method_customer_data_updated.profile_data).to be_a(Braintree::VenmoProfileData)
|
|
29
|
+
expect(payment_method_customer_data_updated.fields_updated).to eq(["username"])
|
|
30
30
|
end
|
|
31
31
|
end
|
|
32
32
|
end
|
|
@@ -27,7 +27,7 @@ describe Braintree::ErrorResult do
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
result = Braintree::ErrorResult.new(:gateway, :params => "params", :errors => errors)
|
|
30
|
-
result.inspect.
|
|
30
|
+
expect(result.inspect).to eq("#<Braintree::ErrorResult params:{...} errors:<level1:[(code1) message], level1/level2:[(code2) message2]>>")
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
it "includes the credit_card_verification if there is one" do
|
|
@@ -38,7 +38,7 @@ describe Braintree::ErrorResult do
|
|
|
38
38
|
:verification => {},
|
|
39
39
|
:transaction => nil,
|
|
40
40
|
)
|
|
41
|
-
result.inspect.
|
|
41
|
+
expect(result.inspect).to include("credit_card_verification: #<Braintree::CreditCardVerification status: ")
|
|
42
42
|
end
|
|
43
43
|
|
|
44
44
|
it "does not include the credit_card_verification if there isn't one" do
|
|
@@ -49,7 +49,7 @@ describe Braintree::ErrorResult do
|
|
|
49
49
|
:verification => nil,
|
|
50
50
|
:transaction => nil,
|
|
51
51
|
)
|
|
52
|
-
result.inspect.
|
|
52
|
+
expect(result.inspect).not_to include("credit_card_verification")
|
|
53
53
|
end
|
|
54
54
|
|
|
55
55
|
it "includes the transaction if there is one" do
|
|
@@ -60,7 +60,7 @@ describe Braintree::ErrorResult do
|
|
|
60
60
|
:verification => nil,
|
|
61
61
|
:transaction => {},
|
|
62
62
|
)
|
|
63
|
-
result.inspect.
|
|
63
|
+
expect(result.inspect).to include("transaction: #<Braintree::Transaction id: ")
|
|
64
64
|
end
|
|
65
65
|
|
|
66
66
|
it "does not include the transaction if there isn't one" do
|
|
@@ -71,7 +71,7 @@ describe Braintree::ErrorResult do
|
|
|
71
71
|
:verification => nil,
|
|
72
72
|
:transaction => nil,
|
|
73
73
|
)
|
|
74
|
-
result.inspect.
|
|
74
|
+
expect(result.inspect).not_to include("transaction")
|
|
75
75
|
end
|
|
76
76
|
end
|
|
77
77
|
end
|
|
@@ -6,15 +6,15 @@ describe Braintree::Errors do
|
|
|
6
6
|
errors = Braintree::Errors.new(
|
|
7
7
|
:level1 => {:errors => [{:code => "code1", :attribute => "attr", :message => "message"}]},
|
|
8
8
|
)
|
|
9
|
-
errors.for(:level1).size.
|
|
10
|
-
errors.for(:level1)[0].code.
|
|
9
|
+
expect(errors.for(:level1).size).to eq(1)
|
|
10
|
+
expect(errors.for(:level1)[0].code).to eq("code1")
|
|
11
11
|
end
|
|
12
12
|
|
|
13
13
|
it "returns nil if there are no errors at the given scope" do
|
|
14
14
|
errors = Braintree::Errors.new(
|
|
15
15
|
:level1 => {:errors => [{:code => "code1", :attribute => "attr", :message => "message"}]},
|
|
16
16
|
)
|
|
17
|
-
errors.for(:no_errors_here).
|
|
17
|
+
expect(errors.for(:no_errors_here)).to eq(nil)
|
|
18
18
|
end
|
|
19
19
|
end
|
|
20
20
|
|
|
@@ -23,7 +23,7 @@ describe Braintree::Errors do
|
|
|
23
23
|
errors = Braintree::Errors.new(
|
|
24
24
|
:level1 => {:errors => [{:code => "code1", :attribute => "attr", :message => "message"}]},
|
|
25
25
|
)
|
|
26
|
-
errors.inspect.
|
|
26
|
+
expect(errors.inspect).to eq("#<Braintree::Errors level1:[(code1) message]>")
|
|
27
27
|
end
|
|
28
28
|
|
|
29
29
|
it "shows errors 2 levels deep" do
|
|
@@ -35,7 +35,7 @@ describe Braintree::Errors do
|
|
|
35
35
|
}
|
|
36
36
|
},
|
|
37
37
|
)
|
|
38
|
-
errors.inspect.
|
|
38
|
+
expect(errors.inspect).to eq("#<Braintree::Errors level1:[(code1) message], level1/level2:[(code2) message2]>")
|
|
39
39
|
end
|
|
40
40
|
|
|
41
41
|
it "shows errors 3 levels deep" do
|
|
@@ -50,7 +50,7 @@ describe Braintree::Errors do
|
|
|
50
50
|
}
|
|
51
51
|
},
|
|
52
52
|
)
|
|
53
|
-
errors.inspect.
|
|
53
|
+
expect(errors.inspect).to eq("#<Braintree::Errors level1:[(code1) message], level1/level2:[(code2) message2], level1/level2/level3:[(code3) message3]>")
|
|
54
54
|
end
|
|
55
55
|
end
|
|
56
56
|
|
|
@@ -67,7 +67,7 @@ describe Braintree::Errors do
|
|
|
67
67
|
}
|
|
68
68
|
},
|
|
69
69
|
)
|
|
70
|
-
errors.map { |e| e.code }.sort.
|
|
70
|
+
expect(errors.map { |e| e.code }.sort).to eq(%w[1 2 3])
|
|
71
71
|
end
|
|
72
72
|
end
|
|
73
73
|
|
|
@@ -76,7 +76,7 @@ describe Braintree::Errors do
|
|
|
76
76
|
errors = Braintree::Errors.new(
|
|
77
77
|
:level1 => {:errors => [{:code => "1", :attribute => "attr", :message => "message"}]},
|
|
78
78
|
)
|
|
79
|
-
errors.size.
|
|
79
|
+
expect(errors.size).to eq(1)
|
|
80
80
|
end
|
|
81
81
|
|
|
82
82
|
it "returns the total number of validation errors in the hierarchy" do
|
|
@@ -91,7 +91,7 @@ describe Braintree::Errors do
|
|
|
91
91
|
}
|
|
92
92
|
},
|
|
93
93
|
)
|
|
94
|
-
errors.size.
|
|
94
|
+
expect(errors.size).to eq(3)
|
|
95
95
|
end
|
|
96
96
|
end
|
|
97
97
|
end
|
|
@@ -15,7 +15,7 @@ END
|
|
|
15
15
|
[Braintree] <last-name>Doe</last-name>
|
|
16
16
|
[Braintree] </customer>
|
|
17
17
|
END
|
|
18
|
-
Braintree::Http.new(:config)._format_and_sanitize_body_for_log(input_xml).
|
|
18
|
+
expect(Braintree::Http.new(:config)._format_and_sanitize_body_for_log(input_xml)).to eq(expected_xml)
|
|
19
19
|
end
|
|
20
20
|
|
|
21
21
|
it "sanitizes credit card number and cvv" do
|
|
@@ -38,7 +38,7 @@ END
|
|
|
38
38
|
[Braintree] <encrypted-card-data>***</encrypted-card-data>
|
|
39
39
|
[Braintree] </customer>
|
|
40
40
|
END
|
|
41
|
-
Braintree::Http.new(:config)._format_and_sanitize_body_for_log(input_xml).
|
|
41
|
+
expect(Braintree::Http.new(:config)._format_and_sanitize_body_for_log(input_xml)).to eq(expected_xml)
|
|
42
42
|
end
|
|
43
43
|
|
|
44
44
|
it "sanitizes credit card number and cvv with newlines" do
|
|
@@ -59,7 +59,7 @@ END
|
|
|
59
59
|
[Braintree] <cvv>***</cvv>
|
|
60
60
|
[Braintree] </customer>
|
|
61
61
|
END
|
|
62
|
-
Braintree::Http.new(:config)._format_and_sanitize_body_for_log(input_xml).
|
|
62
|
+
expect(Braintree::Http.new(:config)._format_and_sanitize_body_for_log(input_xml)).to eq(expected_xml)
|
|
63
63
|
end
|
|
64
64
|
end
|
|
65
65
|
|
|
@@ -80,7 +80,7 @@ END
|
|
|
80
80
|
:start => nil,
|
|
81
81
|
)
|
|
82
82
|
|
|
83
|
-
Net::HTTP.
|
|
83
|
+
expect(Net::HTTP).to receive(:new).with(nil, nil, "localhost", 8080, "user", "test").and_return(net_http_instance)
|
|
84
84
|
|
|
85
85
|
http._http_do("GET", "/plans")
|
|
86
86
|
end
|
|
@@ -99,7 +99,7 @@ END
|
|
|
99
99
|
:start => nil,
|
|
100
100
|
)
|
|
101
101
|
|
|
102
|
-
Net::HTTP.
|
|
102
|
+
expect(Net::HTTP).to receive(:new).with(nil, nil, "localhost", 8080, nil, nil).and_return(net_http_instance)
|
|
103
103
|
|
|
104
104
|
http._http_do("GET", "/plans")
|
|
105
105
|
end
|
|
@@ -114,7 +114,7 @@ END
|
|
|
114
114
|
:start => nil,
|
|
115
115
|
)
|
|
116
116
|
|
|
117
|
-
Net::HTTP.
|
|
117
|
+
expect(Net::HTTP).to receive(:new).with(nil, nil).and_return(net_http_instance)
|
|
118
118
|
|
|
119
119
|
http._http_do("GET", "/plans")
|
|
120
120
|
end
|
|
@@ -185,13 +185,13 @@ END
|
|
|
185
185
|
|
|
186
186
|
describe "_build_query_string" do
|
|
187
187
|
it "returns an empty string for empty query params" do
|
|
188
|
-
Braintree::Http.new(:config)._build_query_string({}).
|
|
188
|
+
expect(Braintree::Http.new(:config)._build_query_string({})).to eq("")
|
|
189
189
|
end
|
|
190
190
|
|
|
191
191
|
it "returns a proper query string for non-nested hashes" do
|
|
192
192
|
query_params = {:one => 1, :two => 2}
|
|
193
193
|
|
|
194
|
-
Braintree::Http.new(:config)._build_query_string(query_params).
|
|
194
|
+
expect(Braintree::Http.new(:config)._build_query_string(query_params)).to match(/^\?(one=1&two=2|two=2&one=1)$/)
|
|
195
195
|
end
|
|
196
196
|
|
|
197
197
|
it "raises ArgumentError for nested hashes" do
|
|
@@ -24,13 +24,13 @@ describe Braintree::LocalPaymentCompleted do
|
|
|
24
24
|
}
|
|
25
25
|
local_payment_completed = Braintree::LocalPaymentCompleted._new(params)
|
|
26
26
|
|
|
27
|
-
local_payment_completed.payment_id.
|
|
28
|
-
local_payment_completed.payer_id.
|
|
29
|
-
local_payment_completed.payment_method_nonce.
|
|
30
|
-
local_payment_completed.transaction.id.
|
|
31
|
-
local_payment_completed.transaction.amount.
|
|
32
|
-
local_payment_completed.transaction.order_id.
|
|
33
|
-
local_payment_completed.transaction.status.
|
|
27
|
+
expect(local_payment_completed.payment_id).to eq("a-payment-id")
|
|
28
|
+
expect(local_payment_completed.payer_id).to eq("a-payer-id")
|
|
29
|
+
expect(local_payment_completed.payment_method_nonce).to eq("a-nonce")
|
|
30
|
+
expect(local_payment_completed.transaction.id).to eq("a-transaction-id")
|
|
31
|
+
expect(local_payment_completed.transaction.amount).to eq(31.0)
|
|
32
|
+
expect(local_payment_completed.transaction.order_id).to eq("an-order-id")
|
|
33
|
+
expect(local_payment_completed.transaction.status).to eq(Braintree::Transaction::Status::Authorized)
|
|
34
34
|
end
|
|
35
35
|
|
|
36
36
|
it "initializes the object with the appropriate attributes set if no transaction is provided" do
|
|
@@ -41,10 +41,10 @@ describe Braintree::LocalPaymentCompleted do
|
|
|
41
41
|
}
|
|
42
42
|
local_payment_completed = Braintree::LocalPaymentCompleted._new(params)
|
|
43
43
|
|
|
44
|
-
local_payment_completed.payment_id.
|
|
45
|
-
local_payment_completed.payer_id.
|
|
46
|
-
local_payment_completed.payment_method_nonce.
|
|
47
|
-
local_payment_completed.transaction.
|
|
44
|
+
expect(local_payment_completed.payment_id).to eq("a-payment-id")
|
|
45
|
+
expect(local_payment_completed.payer_id).to eq("a-payer-id")
|
|
46
|
+
expect(local_payment_completed.payment_method_nonce).to eq("a-nonce")
|
|
47
|
+
expect(local_payment_completed.transaction).to be_nil
|
|
48
48
|
end
|
|
49
49
|
end
|
|
50
50
|
end
|
|
@@ -17,8 +17,8 @@ describe Braintree::LocalPaymentExpired do
|
|
|
17
17
|
}
|
|
18
18
|
local_payment_expired = Braintree::LocalPaymentExpired._new(params)
|
|
19
19
|
|
|
20
|
-
local_payment_expired.payment_id.
|
|
21
|
-
local_payment_expired.payment_context_id.
|
|
20
|
+
expect(local_payment_expired.payment_id).to eq("a-payment-id")
|
|
21
|
+
expect(local_payment_expired.payment_context_id).to eq("a-payment-context-id")
|
|
22
22
|
end
|
|
23
23
|
end
|
|
24
24
|
end
|
|
@@ -23,12 +23,12 @@ describe Braintree::LocalPaymentFunded do
|
|
|
23
23
|
}
|
|
24
24
|
local_payment_funded = Braintree::LocalPaymentFunded._new(params)
|
|
25
25
|
|
|
26
|
-
local_payment_funded.payment_id.
|
|
27
|
-
local_payment_funded.payment_context_id.
|
|
28
|
-
local_payment_funded.transaction.id.
|
|
29
|
-
local_payment_funded.transaction.amount.
|
|
30
|
-
local_payment_funded.transaction.order_id.
|
|
31
|
-
local_payment_funded.transaction.status.
|
|
26
|
+
expect(local_payment_funded.payment_id).to eq("a-payment-id")
|
|
27
|
+
expect(local_payment_funded.payment_context_id).to eq("a-payment-context-id")
|
|
28
|
+
expect(local_payment_funded.transaction.id).to eq("a-transaction-id")
|
|
29
|
+
expect(local_payment_funded.transaction.amount).to eq(31.0)
|
|
30
|
+
expect(local_payment_funded.transaction.order_id).to eq("an-order-id")
|
|
31
|
+
expect(local_payment_funded.transaction.status).to eq(Braintree::Transaction::Status::Settled)
|
|
32
32
|
end
|
|
33
33
|
end
|
|
34
34
|
end
|
|
@@ -5,7 +5,7 @@ describe Braintree::MerchantAccount do
|
|
|
5
5
|
it "is a string representation of the merchant account" do
|
|
6
6
|
account = Braintree::MerchantAccount._new(nil, :id => "merchant_account", :status => "active", :master_merchant_account => nil)
|
|
7
7
|
|
|
8
|
-
account.inspect.
|
|
8
|
+
expect(account.inspect).to eq("#<Braintree::MerchantAccount: id: \"merchant_account\", status: \"active\", master_merchant_account: nil>")
|
|
9
9
|
end
|
|
10
10
|
|
|
11
11
|
it "handles a master merchant account" do
|
|
@@ -17,16 +17,16 @@ describe Braintree::MerchantAccount do
|
|
|
17
17
|
)
|
|
18
18
|
|
|
19
19
|
master_merchant_account = "#<Braintree::MerchantAccount: id: \"master_merchant_account\", status: \"active\", master_merchant_account: nil>"
|
|
20
|
-
account.inspect.
|
|
20
|
+
expect(account.inspect).to eq("#<Braintree::MerchantAccount: id: \"merchant_account\", status: \"active\", master_merchant_account: #{master_merchant_account}>")
|
|
21
21
|
end
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
describe "default?" do
|
|
25
25
|
it "is an alias of default" do
|
|
26
26
|
account = Braintree::MerchantAccount._new(nil, :default => false)
|
|
27
|
-
account.default
|
|
27
|
+
expect(account.default?).to eq(false)
|
|
28
28
|
account = Braintree::MerchantAccount._new(nil, :default => true)
|
|
29
|
-
account.default
|
|
29
|
+
expect(account.default?).to eq(true)
|
|
30
30
|
end
|
|
31
31
|
end
|
|
32
32
|
end
|
|
@@ -2,6 +2,6 @@ require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
|
|
2
2
|
|
|
3
3
|
describe Braintree::Modification do
|
|
4
4
|
it "converts string amount" do
|
|
5
|
-
Braintree::Modification._new(:amount => "100.00").amount.
|
|
5
|
+
expect(Braintree::Modification._new(:amount => "100.00").amount).to eq(BigDecimal("100.00"))
|
|
6
6
|
end
|
|
7
7
|
end
|
|
@@ -34,12 +34,12 @@ describe Braintree::PaymentMethodCustomerDataUpdatedMetadata do
|
|
|
34
34
|
|
|
35
35
|
payment_method_customer_data_updated = Braintree::PaymentMethodCustomerDataUpdatedMetadata._new(:gateway, params)
|
|
36
36
|
|
|
37
|
-
payment_method_customer_data_updated.token.
|
|
38
|
-
payment_method_customer_data_updated.datetime_updated.
|
|
39
|
-
payment_method_customer_data_updated.payment_method.
|
|
40
|
-
payment_method_customer_data_updated.enriched_customer_data.profile_data.first_name.
|
|
41
|
-
payment_method_customer_data_updated.enriched_customer_data.profile_data.last_name.
|
|
42
|
-
payment_method_customer_data_updated.enriched_customer_data.fields_updated.
|
|
37
|
+
expect(payment_method_customer_data_updated.token).to eq("a-token")
|
|
38
|
+
expect(payment_method_customer_data_updated.datetime_updated).to eq("2022-01-01T21:28:37Z")
|
|
39
|
+
expect(payment_method_customer_data_updated.payment_method).to be_a(Braintree::VenmoAccount)
|
|
40
|
+
expect(payment_method_customer_data_updated.enriched_customer_data.profile_data.first_name).to eq("a-first-name")
|
|
41
|
+
expect(payment_method_customer_data_updated.enriched_customer_data.profile_data.last_name).to eq("a-last-name")
|
|
42
|
+
expect(payment_method_customer_data_updated.enriched_customer_data.fields_updated).to eq(["username"])
|
|
43
43
|
end
|
|
44
44
|
end
|
|
45
45
|
end
|
|
@@ -14,18 +14,18 @@ describe Braintree::PaymentMethodNonceDetailsPayerInfo do
|
|
|
14
14
|
|
|
15
15
|
describe "#initialize" do
|
|
16
16
|
it "sets attributes" do
|
|
17
|
-
payment_method_nonce_details_payer_info.billing_agreement_id.
|
|
18
|
-
payment_method_nonce_details_payer_info.country_code.
|
|
19
|
-
payment_method_nonce_details_payer_info.email.
|
|
20
|
-
payment_method_nonce_details_payer_info.first_name.
|
|
21
|
-
payment_method_nonce_details_payer_info.last_name.
|
|
22
|
-
payment_method_nonce_details_payer_info.payer_id.
|
|
17
|
+
expect(payment_method_nonce_details_payer_info.billing_agreement_id).to eq("billing-agreement-id")
|
|
18
|
+
expect(payment_method_nonce_details_payer_info.country_code).to eq("US")
|
|
19
|
+
expect(payment_method_nonce_details_payer_info.email).to eq("test@example.com")
|
|
20
|
+
expect(payment_method_nonce_details_payer_info.first_name).to eq("First")
|
|
21
|
+
expect(payment_method_nonce_details_payer_info.last_name).to eq("Last")
|
|
22
|
+
expect(payment_method_nonce_details_payer_info.payer_id).to eq("payer-id")
|
|
23
23
|
end
|
|
24
24
|
end
|
|
25
25
|
|
|
26
26
|
describe "inspect" do
|
|
27
27
|
it "prints the attributes" do
|
|
28
|
-
payment_method_nonce_details_payer_info.inspect.
|
|
28
|
+
expect(payment_method_nonce_details_payer_info.inspect).to eq(%(#<PaymentMethodNonceDetailsPayerInfo billing_agreement_id: \"billing-agreement-id\", country_code: \"US\", email: \"test@example.com\", first_name: \"First\", last_name: \"Last\", payer_id: \"payer-id\">))
|
|
29
29
|
end
|
|
30
30
|
end
|
|
31
31
|
end
|