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
|
@@ -29,8 +29,8 @@ describe Braintree::AdvancedSearch do
|
|
|
29
29
|
search.id.is "subscription1_#{id}"
|
|
30
30
|
end
|
|
31
31
|
|
|
32
|
-
collection.
|
|
33
|
-
collection.
|
|
32
|
+
expect(collection).to include(subscription1)
|
|
33
|
+
expect(collection).not_to include(subscription2)
|
|
34
34
|
end
|
|
35
35
|
|
|
36
36
|
it "is_not" do
|
|
@@ -54,8 +54,8 @@ describe Braintree::AdvancedSearch do
|
|
|
54
54
|
search.price.is "11"
|
|
55
55
|
end
|
|
56
56
|
|
|
57
|
-
collection.
|
|
58
|
-
collection.
|
|
57
|
+
expect(collection).not_to include(subscription1)
|
|
58
|
+
expect(collection).to include(subscription2)
|
|
59
59
|
end
|
|
60
60
|
|
|
61
61
|
it "starts_with" do
|
|
@@ -76,8 +76,8 @@ describe Braintree::AdvancedSearch do
|
|
|
76
76
|
search.id.starts_with "subscription1_"
|
|
77
77
|
end
|
|
78
78
|
|
|
79
|
-
collection.
|
|
80
|
-
collection.
|
|
79
|
+
expect(collection).to include(subscription1)
|
|
80
|
+
expect(collection).not_to include(subscription2)
|
|
81
81
|
end
|
|
82
82
|
|
|
83
83
|
it "ends_with" do
|
|
@@ -98,8 +98,8 @@ describe Braintree::AdvancedSearch do
|
|
|
98
98
|
search.id.ends_with "1_#{id}"
|
|
99
99
|
end
|
|
100
100
|
|
|
101
|
-
collection.
|
|
102
|
-
collection.
|
|
101
|
+
expect(collection).to include(subscription1)
|
|
102
|
+
expect(collection).not_to include(subscription2)
|
|
103
103
|
end
|
|
104
104
|
|
|
105
105
|
it "contains" do
|
|
@@ -120,8 +120,8 @@ describe Braintree::AdvancedSearch do
|
|
|
120
120
|
search.id.contains "scription1_"
|
|
121
121
|
end
|
|
122
122
|
|
|
123
|
-
collection.
|
|
124
|
-
collection.
|
|
123
|
+
expect(collection).to include(subscription1)
|
|
124
|
+
expect(collection).not_to include(subscription2)
|
|
125
125
|
end
|
|
126
126
|
end
|
|
127
127
|
|
|
@@ -147,8 +147,8 @@ describe Braintree::AdvancedSearch do
|
|
|
147
147
|
search.price.is "12"
|
|
148
148
|
end
|
|
149
149
|
|
|
150
|
-
collection.
|
|
151
|
-
collection.
|
|
150
|
+
expect(collection).to include(subscription1)
|
|
151
|
+
expect(collection).to include(subscription2)
|
|
152
152
|
end
|
|
153
153
|
|
|
154
154
|
it "returns only matching results" do
|
|
@@ -171,8 +171,8 @@ describe Braintree::AdvancedSearch do
|
|
|
171
171
|
search.price.is "13"
|
|
172
172
|
end
|
|
173
173
|
|
|
174
|
-
collection.
|
|
175
|
-
collection.
|
|
174
|
+
expect(collection).to include(subscription1)
|
|
175
|
+
expect(collection).not_to include(subscription2)
|
|
176
176
|
end
|
|
177
177
|
|
|
178
178
|
it "returns only matching results given an argument list" do
|
|
@@ -195,8 +195,8 @@ describe Braintree::AdvancedSearch do
|
|
|
195
195
|
search.price.is "14"
|
|
196
196
|
end
|
|
197
197
|
|
|
198
|
-
collection.
|
|
199
|
-
collection.
|
|
198
|
+
expect(collection).to include(subscription1)
|
|
199
|
+
expect(collection).to include(subscription2)
|
|
200
200
|
end
|
|
201
201
|
|
|
202
202
|
describe "is" do
|
|
@@ -220,8 +220,8 @@ describe Braintree::AdvancedSearch do
|
|
|
220
220
|
search.price.is "15"
|
|
221
221
|
end
|
|
222
222
|
|
|
223
|
-
collection.
|
|
224
|
-
collection.
|
|
223
|
+
expect(collection).to include(subscription1)
|
|
224
|
+
expect(collection).not_to include(subscription2)
|
|
225
225
|
end
|
|
226
226
|
end
|
|
227
227
|
|
|
@@ -245,8 +245,8 @@ describe Braintree::AdvancedSearch do
|
|
|
245
245
|
search.price.is "16"
|
|
246
246
|
end
|
|
247
247
|
|
|
248
|
-
collection.
|
|
249
|
-
collection.
|
|
248
|
+
expect(collection).to include(subscription1)
|
|
249
|
+
expect(collection).to include(subscription2)
|
|
250
250
|
end
|
|
251
251
|
|
|
252
252
|
it "returns expired subscriptions" do
|
|
@@ -254,8 +254,8 @@ describe Braintree::AdvancedSearch do
|
|
|
254
254
|
search.status.in [Braintree::Subscription::Status::Expired]
|
|
255
255
|
end
|
|
256
256
|
|
|
257
|
-
collection.maximum_size.
|
|
258
|
-
collection.all? { |subscription| subscription.status.
|
|
257
|
+
expect(collection.maximum_size).to be > 0
|
|
258
|
+
collection.all? { |subscription| expect(subscription.status).to eq(Braintree::Subscription::Status::Expired) }
|
|
259
259
|
end
|
|
260
260
|
end
|
|
261
261
|
end
|
|
@@ -287,7 +287,7 @@ describe Braintree::AdvancedSearch do
|
|
|
287
287
|
search.price.is "17"
|
|
288
288
|
end
|
|
289
289
|
|
|
290
|
-
collection.maximum_size.
|
|
290
|
+
expect(collection.maximum_size).to be > 0
|
|
291
291
|
collection.all? { |subscription| plan_ids.include?(subscription.plan_id) }
|
|
292
292
|
end
|
|
293
293
|
end
|
|
@@ -298,7 +298,7 @@ describe Braintree::AdvancedSearch do
|
|
|
298
298
|
search.plan_id.is "not_a_real_plan_id"
|
|
299
299
|
end
|
|
300
300
|
|
|
301
|
-
collection.maximum_size.
|
|
301
|
+
expect(collection.maximum_size).to eq(0)
|
|
302
302
|
end
|
|
303
303
|
end
|
|
304
304
|
|
|
@@ -321,8 +321,8 @@ describe Braintree::AdvancedSearch do
|
|
|
321
321
|
search.price.is "18"
|
|
322
322
|
end
|
|
323
323
|
|
|
324
|
-
collection.
|
|
325
|
-
collection.
|
|
324
|
+
expect(collection).to include(trialless_subscription)
|
|
325
|
+
expect(collection).not_to include(trial_subscription)
|
|
326
326
|
end
|
|
327
327
|
end
|
|
328
328
|
|
|
@@ -345,8 +345,8 @@ describe Braintree::AdvancedSearch do
|
|
|
345
345
|
search.price.is "19"
|
|
346
346
|
end
|
|
347
347
|
|
|
348
|
-
collection.
|
|
349
|
-
collection.
|
|
348
|
+
expect(collection).not_to include(trialless_subscription)
|
|
349
|
+
expect(collection).to include(trial_subscription)
|
|
350
350
|
end
|
|
351
351
|
end
|
|
352
352
|
|
|
@@ -369,8 +369,8 @@ describe Braintree::AdvancedSearch do
|
|
|
369
369
|
search.price.is "20"
|
|
370
370
|
end
|
|
371
371
|
|
|
372
|
-
collection.
|
|
373
|
-
collection.
|
|
372
|
+
expect(collection).to include(trial_subscription)
|
|
373
|
+
expect(collection).not_to include(trialless_subscription)
|
|
374
374
|
end
|
|
375
375
|
end
|
|
376
376
|
|
|
@@ -393,8 +393,8 @@ describe Braintree::AdvancedSearch do
|
|
|
393
393
|
search.price.is "21"
|
|
394
394
|
end
|
|
395
395
|
|
|
396
|
-
collection.
|
|
397
|
-
collection.
|
|
396
|
+
expect(collection).to include(trial_subscription)
|
|
397
|
+
expect(collection).not_to include(trialless_subscription)
|
|
398
398
|
end
|
|
399
399
|
end
|
|
400
400
|
|
|
@@ -417,8 +417,8 @@ describe Braintree::AdvancedSearch do
|
|
|
417
417
|
search.price.is "22"
|
|
418
418
|
end
|
|
419
419
|
|
|
420
|
-
collection.
|
|
421
|
-
collection.
|
|
420
|
+
expect(collection).to include(trial_subscription)
|
|
421
|
+
expect(collection).not_to include(trialless_subscription)
|
|
422
422
|
end
|
|
423
423
|
end
|
|
424
424
|
end
|
|
@@ -441,8 +441,8 @@ describe Braintree::AdvancedSearch do
|
|
|
441
441
|
search.price.is "5.00"
|
|
442
442
|
end
|
|
443
443
|
|
|
444
|
-
collection.
|
|
445
|
-
collection.
|
|
444
|
+
expect(collection).to include(subscription_500)
|
|
445
|
+
expect(collection).not_to include(subscription_501)
|
|
446
446
|
end
|
|
447
447
|
|
|
448
448
|
it "<=" do
|
|
@@ -468,9 +468,9 @@ describe Braintree::AdvancedSearch do
|
|
|
468
468
|
search.price <= "5.00"
|
|
469
469
|
end
|
|
470
470
|
|
|
471
|
-
collection.
|
|
472
|
-
collection.
|
|
473
|
-
collection.
|
|
471
|
+
expect(collection).to include(subscription_499)
|
|
472
|
+
expect(collection).to include(subscription_500)
|
|
473
|
+
expect(collection).not_to include(subscription_501)
|
|
474
474
|
end
|
|
475
475
|
|
|
476
476
|
it ">=" do
|
|
@@ -496,9 +496,9 @@ describe Braintree::AdvancedSearch do
|
|
|
496
496
|
search.price >= "1000.00"
|
|
497
497
|
end
|
|
498
498
|
|
|
499
|
-
collection.
|
|
500
|
-
collection.
|
|
501
|
-
collection.
|
|
499
|
+
expect(collection).not_to include(subscription_499)
|
|
500
|
+
expect(collection).to include(subscription_500)
|
|
501
|
+
expect(collection).to include(subscription_501)
|
|
502
502
|
end
|
|
503
503
|
|
|
504
504
|
it "between" do
|
|
@@ -524,9 +524,9 @@ describe Braintree::AdvancedSearch do
|
|
|
524
524
|
search.price.between "4.99", "5.01"
|
|
525
525
|
end
|
|
526
526
|
|
|
527
|
-
collection.
|
|
528
|
-
collection.
|
|
529
|
-
collection.
|
|
527
|
+
expect(collection).to include(subscription_499)
|
|
528
|
+
expect(collection).to include(subscription_500)
|
|
529
|
+
expect(collection).not_to include(subscription_502)
|
|
530
530
|
end
|
|
531
531
|
end
|
|
532
532
|
end
|
|
@@ -23,13 +23,13 @@ describe Braintree::ApplePayGateway do
|
|
|
23
23
|
describe "register_domain" do
|
|
24
24
|
it "registers an apple pay domain" do
|
|
25
25
|
result = @gateway.apple_pay.register_domain("www.example.com")
|
|
26
|
-
result.
|
|
26
|
+
expect(result).to be_success
|
|
27
27
|
end
|
|
28
28
|
|
|
29
29
|
it "gets a validation error when attempting to register no domains" do
|
|
30
30
|
result = @gateway.apple_pay.register_domain("")
|
|
31
|
-
result.
|
|
32
|
-
result.errors.for(:apple_pay)[0].message.
|
|
31
|
+
expect(result).not_to be_success
|
|
32
|
+
expect(result.errors.for(:apple_pay)[0].message).to eq("Domain name is required.")
|
|
33
33
|
end
|
|
34
34
|
end
|
|
35
35
|
|
|
@@ -37,27 +37,27 @@ describe Braintree::ApplePayGateway do
|
|
|
37
37
|
it "unregisters an apple pay domain" do
|
|
38
38
|
domain = "example.org"
|
|
39
39
|
result = @gateway.apple_pay.unregister_domain(domain)
|
|
40
|
-
result.
|
|
40
|
+
expect(result).to be_success
|
|
41
41
|
end
|
|
42
42
|
|
|
43
43
|
it "unregisters an apple pay domain with scheme in url" do
|
|
44
44
|
domain = "http://example.org"
|
|
45
45
|
result = @gateway.apple_pay.unregister_domain(domain)
|
|
46
|
-
result.
|
|
46
|
+
expect(result).to be_success
|
|
47
47
|
end
|
|
48
48
|
|
|
49
49
|
it "escapes the unregistered domain query parameter" do
|
|
50
50
|
domain = "ex&mple.org"
|
|
51
51
|
result = @gateway.apple_pay.unregister_domain(domain)
|
|
52
|
-
result.
|
|
52
|
+
expect(result).to be_success
|
|
53
53
|
end
|
|
54
54
|
end
|
|
55
55
|
|
|
56
56
|
describe "registered_domains" do
|
|
57
57
|
it "returns stubbed registered domains" do
|
|
58
58
|
result = @gateway.apple_pay.registered_domains
|
|
59
|
-
result.
|
|
60
|
-
result.apple_pay_options.domains.
|
|
59
|
+
expect(result).to be_success
|
|
60
|
+
expect(result.apple_pay_options.domains).to eq(["www.example.com"])
|
|
61
61
|
end
|
|
62
62
|
end
|
|
63
63
|
end
|
|
@@ -17,7 +17,7 @@ describe Braintree::ClientToken do
|
|
|
17
17
|
|
|
18
18
|
response = http.get_payment_methods
|
|
19
19
|
|
|
20
|
-
response.code.
|
|
20
|
+
expect(response.code).to eq("200")
|
|
21
21
|
end
|
|
22
22
|
|
|
23
23
|
it "raises ArgumentError on invalid parameters (422)" do
|
|
@@ -31,14 +31,14 @@ describe Braintree::ClientToken do
|
|
|
31
31
|
config = Braintree::Configuration.instantiate
|
|
32
32
|
client_token_string = Braintree::ClientToken.generate(:version => 1)
|
|
33
33
|
client_token = JSON.parse(client_token_string)
|
|
34
|
-
client_token["version"].
|
|
34
|
+
expect(client_token["version"]).to eq(1)
|
|
35
35
|
end
|
|
36
36
|
|
|
37
37
|
it "defaults to 2" do
|
|
38
38
|
config = Braintree::Configuration.instantiate
|
|
39
39
|
client_token_string = Braintree::ClientToken.generate
|
|
40
40
|
client_token = decode_client_token(client_token_string)
|
|
41
|
-
client_token["version"].
|
|
41
|
+
expect(client_token["version"]).to eq(2)
|
|
42
42
|
end
|
|
43
43
|
end
|
|
44
44
|
|
|
@@ -68,7 +68,7 @@ describe Braintree::ClientToken do
|
|
|
68
68
|
},
|
|
69
69
|
)
|
|
70
70
|
|
|
71
|
-
response.code.
|
|
71
|
+
expect(response.code).to eq("422")
|
|
72
72
|
end
|
|
73
73
|
|
|
74
74
|
it "can pass make_default" do
|
|
@@ -98,7 +98,7 @@ describe Braintree::ClientToken do
|
|
|
98
98
|
},
|
|
99
99
|
)
|
|
100
100
|
|
|
101
|
-
response.code.
|
|
101
|
+
expect(response.code).to eq("201")
|
|
102
102
|
|
|
103
103
|
response = http.add_payment_method(
|
|
104
104
|
:credit_card => {
|
|
@@ -108,10 +108,10 @@ describe Braintree::ClientToken do
|
|
|
108
108
|
},
|
|
109
109
|
)
|
|
110
110
|
|
|
111
|
-
response.code.
|
|
111
|
+
expect(response.code).to eq("201")
|
|
112
112
|
|
|
113
113
|
customer = Braintree::Customer.find(customer_id)
|
|
114
|
-
customer.credit_cards.select { |c| c.bin == "400551" }[0].
|
|
114
|
+
expect(customer.credit_cards.select { |c| c.bin == "400551" }[0]).to be_default
|
|
115
115
|
end
|
|
116
116
|
|
|
117
117
|
it "can pass fail_on_duplicate_payment_method" do
|
|
@@ -138,7 +138,7 @@ describe Braintree::ClientToken do
|
|
|
138
138
|
},
|
|
139
139
|
)
|
|
140
140
|
|
|
141
|
-
response.code.
|
|
141
|
+
expect(response.code).to eq("201")
|
|
142
142
|
|
|
143
143
|
second_raw_client_token = Braintree::ClientToken.generate(
|
|
144
144
|
:customer_id => customer_id,
|
|
@@ -158,7 +158,7 @@ describe Braintree::ClientToken do
|
|
|
158
158
|
},
|
|
159
159
|
)
|
|
160
160
|
|
|
161
|
-
response.code.
|
|
161
|
+
expect(response.code).to eq("422")
|
|
162
162
|
end
|
|
163
163
|
|
|
164
164
|
it "can pass merchant_account_id" do
|
|
@@ -169,7 +169,7 @@ describe Braintree::ClientToken do
|
|
|
169
169
|
)
|
|
170
170
|
client_token = decode_client_token(raw_client_token)
|
|
171
171
|
|
|
172
|
-
client_token["merchantAccountId"].
|
|
172
|
+
expect(client_token["merchantAccountId"]).to eq(merchant_account_id)
|
|
173
173
|
end
|
|
174
174
|
|
|
175
175
|
context "paypal" do
|
|
@@ -178,11 +178,11 @@ describe Braintree::ClientToken do
|
|
|
178
178
|
raw_client_token = Braintree::ClientToken.generate
|
|
179
179
|
client_token = decode_client_token(raw_client_token)
|
|
180
180
|
|
|
181
|
-
client_token["paypal"]["displayName"].
|
|
182
|
-
client_token["paypal"]["clientId"].
|
|
183
|
-
client_token["paypal"]["privacyUrl"].
|
|
184
|
-
client_token["paypal"]["userAgreementUrl"].
|
|
185
|
-
client_token["paypal"]["baseUrl"].
|
|
181
|
+
expect(client_token["paypal"]["displayName"]).to eq("merchant who has paypal and sepa enabled")
|
|
182
|
+
expect(client_token["paypal"]["clientId"]).to match(/.+/)
|
|
183
|
+
expect(client_token["paypal"]["privacyUrl"]).to match("http://www.example.com/privacy_policy")
|
|
184
|
+
expect(client_token["paypal"]["userAgreementUrl"]).to match("http://www.example.com/user_agreement")
|
|
185
|
+
expect(client_token["paypal"]["baseUrl"]).not_to be_nil
|
|
186
186
|
end
|
|
187
187
|
end
|
|
188
188
|
end
|