braintree 2.98.0 → 4.23.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/LICENSE +1 -1
- data/braintree.gemspec +7 -4
- data/lib/braintree/account_updater_daily_report.rb +4 -4
- data/lib/braintree/ach_mandate.rb +1 -1
- data/lib/braintree/add_on_gateway.rb +1 -1
- data/lib/braintree/address.rb +7 -27
- data/lib/braintree/address_gateway.rb +8 -7
- data/lib/braintree/advanced_search.rb +11 -12
- data/lib/braintree/apple_pay.rb +4 -4
- data/lib/braintree/apple_pay_card.rb +18 -4
- data/lib/braintree/apple_pay_options.rb +4 -4
- data/lib/braintree/authorization_adjustment.rb +4 -4
- data/lib/braintree/base_module.rb +11 -1
- data/lib/braintree/bin_data.rb +10 -3
- data/lib/braintree/client_token.rb +1 -1
- data/lib/braintree/client_token_gateway.rb +4 -3
- data/lib/braintree/configuration.rb +35 -35
- data/lib/braintree/connected_merchant_paypal_status_changed.rb +2 -2
- data/lib/braintree/connected_merchant_status_transitioned.rb +2 -2
- data/lib/braintree/credit_card.rb +40 -86
- data/lib/braintree/credit_card_gateway.rb +58 -44
- data/lib/braintree/credit_card_verification.rb +39 -20
- data/lib/braintree/credit_card_verification_gateway.rb +35 -5
- data/lib/braintree/credit_card_verification_search.rb +2 -2
- data/lib/braintree/customer.rb +23 -88
- data/lib/braintree/customer_gateway.rb +17 -32
- data/lib/braintree/customer_search.rb +2 -2
- data/lib/braintree/descriptor.rb +1 -1
- data/lib/braintree/digest.rb +1 -1
- data/lib/braintree/disbursement.rb +7 -7
- data/lib/braintree/discount_gateway.rb +1 -1
- data/lib/braintree/dispute/evidence.rb +1 -1
- data/lib/braintree/{transaction/coinbase_details.rb → dispute/paypal_message.rb} +5 -6
- data/lib/braintree/dispute/{history_event.rb → status_history.rb} +3 -1
- data/lib/braintree/dispute/transaction.rb +3 -1
- data/lib/braintree/dispute/transaction_details.rb +1 -1
- data/lib/braintree/dispute.rb +47 -6
- data/lib/braintree/dispute_gateway.rb +5 -10
- data/lib/braintree/dispute_search.rb +8 -4
- data/lib/braintree/document_upload.rb +3 -3
- data/lib/braintree/document_upload_gateway.rb +3 -3
- data/lib/braintree/enriched_customer_data.rb +21 -0
- data/lib/braintree/error_codes.rb +217 -175
- data/lib/braintree/error_result.rb +2 -3
- data/lib/braintree/errors.rb +3 -3
- data/lib/braintree/exceptions.rb +6 -5
- data/lib/braintree/exchange_rate.rb +13 -0
- data/lib/braintree/exchange_rate_quote.rb +24 -0
- data/lib/braintree/exchange_rate_quote_gateway.rb +35 -0
- data/lib/braintree/exchange_rate_quote_input.rb +21 -0
- data/lib/braintree/exchange_rate_quote_request.rb +18 -0
- data/lib/braintree/exchange_rate_quote_response.rb +18 -0
- data/lib/braintree/facilitated_details.rb +1 -1
- data/lib/braintree/facilitator_details.rb +1 -1
- data/lib/braintree/gateway.rb +6 -12
- data/lib/braintree/{android_pay_card.rb → google_pay_card.rb} +18 -5
- data/lib/braintree/granted_payment_instrument_update.rb +2 -2
- data/lib/braintree/graphql_client.rb +14 -8
- data/lib/braintree/http.rb +9 -10
- data/lib/braintree/local_payment_completed/blik_alias.rb +23 -0
- data/lib/braintree/local_payment_completed.rb +10 -5
- data/lib/braintree/local_payment_expired.rb +21 -0
- data/lib/braintree/local_payment_funded.rb +22 -0
- data/lib/braintree/local_payment_reversed.rb +19 -0
- data/lib/braintree/merchant.rb +4 -4
- data/lib/braintree/merchant_account.rb +3 -3
- data/lib/braintree/merchant_account_gateway.rb +10 -8
- data/lib/braintree/merchant_gateway.rb +1 -1
- data/lib/braintree/meta_checkout_card.rb +89 -0
- data/lib/braintree/meta_checkout_token.rb +88 -0
- data/lib/braintree/modification.rb +4 -4
- data/lib/braintree/oauth_credentials.rb +4 -4
- data/lib/braintree/oauth_gateway.rb +5 -5
- data/lib/braintree/paginated_collection.rb +2 -2
- data/lib/braintree/paginated_result.rb +1 -1
- data/lib/braintree/payment_instrument_type.rb +14 -13
- data/lib/braintree/payment_method_customer_data_updated_metadata.rb +24 -0
- data/lib/braintree/payment_method_gateway.rb +52 -22
- data/lib/braintree/payment_method_nonce.rb +12 -7
- data/lib/braintree/payment_method_nonce_details.rb +40 -0
- data/lib/braintree/payment_method_nonce_details_payer_info.rb +32 -0
- data/lib/braintree/payment_method_nonce_gateway.rb +14 -3
- data/lib/braintree/payment_method_parser.rb +4 -7
- data/lib/braintree/paypal_account.rb +3 -2
- data/lib/braintree/paypal_account_gateway.rb +5 -5
- data/lib/braintree/plan.rb +22 -2
- data/lib/braintree/plan_gateway.rb +101 -1
- data/lib/braintree/processor_response_types.rb +3 -3
- data/lib/braintree/resource_collection.rb +10 -5
- data/lib/braintree/revoked_payment_method_metadata.rb +2 -2
- data/lib/braintree/risk_data/liability_shift.rb +22 -0
- data/lib/braintree/risk_data.rb +10 -3
- data/lib/braintree/samsung_pay_card.rb +8 -6
- data/lib/braintree/sepa_direct_debit_account.rb +60 -0
- data/lib/braintree/sepa_direct_debit_account_gateway.rb +25 -0
- data/lib/braintree/sepa_direct_debit_account_nonce_details.rb +28 -0
- data/lib/braintree/settlement_batch_summary.rb +2 -2
- data/lib/braintree/settlement_batch_summary_gateway.rb +1 -1
- data/lib/braintree/sha256_digest.rb +1 -1
- data/lib/braintree/subscription/status_details.rb +1 -1
- data/lib/braintree/subscription.rb +13 -13
- data/lib/braintree/subscription_gateway.rb +6 -6
- data/lib/braintree/subscription_search.rb +1 -1
- data/lib/braintree/successful_result.rb +5 -4
- data/lib/braintree/test/authentication_id.rb +21 -0
- data/lib/braintree/test/credit_card.rb +9 -10
- data/lib/braintree/test/merchant_account.rb +1 -1
- data/lib/braintree/test/nonce.rb +27 -20
- data/lib/braintree/test/transaction_amounts.rb +2 -3
- data/lib/braintree/test/venmo_sdk.rb +2 -0
- data/lib/braintree/testing_gateway.rb +1 -1
- data/lib/braintree/three_d_secure_info.rb +23 -11
- data/lib/braintree/transaction/address_details.rb +14 -1
- data/lib/braintree/transaction/apple_pay_details.rb +13 -10
- data/lib/braintree/transaction/credit_card_details.rb +8 -1
- data/lib/braintree/transaction/customer_details.rb +3 -2
- data/lib/braintree/transaction/disbursement_details.rb +2 -1
- data/lib/braintree/transaction/{android_pay_details.rb → google_pay_details.rb} +6 -1
- data/lib/braintree/transaction/installment/adjustment.rb +33 -0
- data/lib/braintree/transaction/installment.rb +28 -0
- data/lib/braintree/transaction/local_payment_details.rb +3 -0
- data/lib/braintree/transaction/meta_checkout_card_details.rb +52 -0
- data/lib/braintree/transaction/meta_checkout_token_details.rb +54 -0
- data/lib/braintree/transaction/package_details.rb +19 -0
- data/lib/braintree/transaction/payment_receipt/card_present_data.rb +36 -0
- data/lib/braintree/transaction/payment_receipt/merchant_address.rb +19 -0
- data/lib/braintree/transaction/payment_receipt.rb +31 -0
- data/lib/braintree/transaction/paypal_details.rb +5 -0
- data/lib/braintree/transaction/samsung_pay_card_details.rb +3 -1
- data/lib/braintree/transaction/sepa_direct_debit_account_details.rb +27 -0
- data/lib/braintree/transaction/status_details.rb +1 -1
- data/lib/braintree/transaction/subscription_details.rb +3 -1
- data/lib/braintree/transaction/us_bank_account_details.rb +2 -1
- data/lib/braintree/transaction/visa_checkout_card_details.rb +1 -1
- data/lib/braintree/transaction.rb +119 -128
- data/lib/braintree/transaction_gateway.rb +138 -64
- data/lib/braintree/transaction_line_item.rb +14 -11
- data/lib/braintree/transaction_line_item_gateway.rb +1 -1
- data/lib/braintree/transaction_review.rb +18 -0
- data/lib/braintree/transaction_search.rb +11 -7
- data/lib/braintree/unknown_payment_method.rb +2 -2
- data/lib/braintree/us_bank_account.rb +5 -5
- data/lib/braintree/us_bank_account_verification.rb +24 -16
- data/lib/braintree/us_bank_account_verification_gateway.rb +1 -1
- data/lib/braintree/us_bank_account_verification_search.rb +1 -1
- data/lib/braintree/util.rb +25 -10
- data/lib/braintree/validation_error.rb +1 -1
- data/lib/braintree/validation_error_collection.rb +3 -3
- data/lib/braintree/venmo_account.rb +4 -4
- data/lib/braintree/venmo_profile_data.rb +25 -0
- data/lib/braintree/version.rb +2 -2
- data/lib/braintree/visa_checkout_card.rb +8 -8
- data/lib/braintree/webhook_notification.rb +55 -33
- data/lib/braintree/webhook_notification_gateway.rb +9 -9
- data/lib/braintree/webhook_testing.rb +1 -1
- data/lib/braintree/webhook_testing_gateway.rb +569 -46
- data/lib/braintree/xml/generator.rb +6 -5
- data/lib/braintree/xml/libxml.rb +1 -1
- data/lib/braintree/xml/parser.rb +24 -37
- data/lib/braintree/xml/rexml.rb +6 -7
- data/lib/braintree/xml.rb +1 -1
- data/lib/braintree.rb +41 -24
- data/lib/ssl/api_braintreegateway_com.ca.crt +401 -168
- data/spec/integration/braintree/add_on_spec.rb +10 -10
- data/spec/integration/braintree/address_spec.rb +101 -178
- data/spec/integration/braintree/advanced_search_spec.rb +93 -93
- data/spec/integration/braintree/apple_pay_spec.rb +12 -12
- data/spec/integration/braintree/braintree_gateway_spec.rb +2 -1
- data/spec/integration/braintree/client_api/client_token_spec.rb +279 -62
- data/spec/integration/braintree/client_api/spec_helper.rb +99 -73
- data/spec/integration/braintree/credit_card_spec.rb +522 -821
- data/spec/integration/braintree/credit_card_verification_search_spec.rb +18 -18
- data/spec/integration/braintree/credit_card_verification_spec.rb +219 -30
- data/spec/integration/braintree/customer_search_spec.rb +28 -28
- data/spec/integration/braintree/customer_spec.rb +840 -757
- data/spec/integration/braintree/disbursement_spec.rb +2 -2
- data/spec/integration/braintree/discount_spec.rb +9 -9
- data/spec/integration/braintree/dispute_search_spec.rb +45 -9
- data/spec/integration/braintree/dispute_spec.rb +109 -82
- data/spec/integration/braintree/document_upload_spec.rb +29 -17
- data/spec/integration/braintree/error_codes_spec.rb +3 -3
- data/spec/integration/braintree/exchange_rate_quote_spec.rb +97 -0
- data/spec/integration/braintree/graphql_client_spec.rb +0 -2
- data/spec/integration/braintree/http_spec.rb +31 -33
- data/spec/integration/braintree/merchant_account_spec.rb +155 -156
- data/spec/integration/braintree/merchant_spec.rb +71 -192
- data/spec/integration/braintree/oauth_spec.rb +72 -72
- data/spec/integration/braintree/package_tracking_spec.rb +130 -0
- data/spec/integration/braintree/payment_method_nonce_spec.rb +173 -78
- data/spec/integration/braintree/payment_method_spec.rb +953 -501
- data/spec/integration/braintree/payment_method_us_bank_account_spec.rb +147 -234
- data/spec/integration/braintree/paypal_account_spec.rb +74 -72
- data/spec/integration/braintree/plan_spec.rb +96 -15
- data/spec/integration/braintree/samsung_pay_card_spec.rb +75 -73
- data/spec/integration/braintree/sepa_direct_debit_account_spec.rb +194 -0
- data/spec/integration/braintree/settlement_batch_summary_spec.rb +18 -18
- data/spec/integration/braintree/subscription_spec.rb +507 -513
- data/spec/integration/braintree/test/transaction_amounts_spec.rb +4 -4
- data/spec/integration/braintree/test_transaction_spec.rb +29 -29
- data/spec/integration/braintree/transaction_line_item_spec.rb +12 -6
- data/spec/integration/braintree/transaction_search_spec.rb +410 -217
- data/spec/integration/braintree/transaction_spec.rb +3252 -2102
- data/spec/integration/braintree/transaction_us_bank_account_spec.rb +42 -278
- data/spec/integration/braintree/us_bank_account_spec.rb +36 -36
- data/spec/integration/braintree/us_bank_account_verification_search_spec.rb +25 -25
- data/spec/integration/braintree/us_bank_account_verification_spec.rb +41 -41
- data/spec/integration/braintree/visa_checkout_card_spec.rb +62 -62
- data/spec/integration/spec_helper.rb +22 -7
- data/spec/oauth_test_helper.rb +1 -1
- data/spec/script/httpsd.rb +6 -6
- data/spec/spec_helper.rb +15 -20
- data/spec/unit/braintree/address_spec.rb +9 -17
- data/spec/unit/braintree/apple_pay_card_spec.rb +110 -7
- data/spec/unit/braintree/base_module_spec.rb +4 -4
- data/spec/unit/braintree/client_token_spec.rb +6 -6
- data/spec/unit/braintree/configuration_spec.rb +84 -84
- data/spec/unit/braintree/credentials_parser_spec.rb +6 -6
- data/spec/unit/braintree/credit_card_spec.rb +91 -58
- data/spec/unit/braintree/credit_card_verification_gateway_spec.rb +56 -0
- data/spec/unit/braintree/credit_card_verification_search_spec.rb +10 -10
- data/spec/unit/braintree/credit_card_verification_spec.rb +40 -18
- data/spec/unit/braintree/customer_spec.rb +102 -57
- data/spec/unit/braintree/digest_spec.rb +5 -6
- data/spec/unit/braintree/disbursement_spec.rb +14 -14
- data/spec/unit/braintree/dispute_search_spec.rb +6 -2
- data/spec/unit/braintree/dispute_spec.rb +144 -66
- data/spec/unit/braintree/document_upload_spec.rb +8 -8
- data/spec/unit/braintree/enriched_customer_data_spec.rb +41 -0
- data/spec/unit/braintree/error_result_spec.rb +11 -11
- data/spec/unit/braintree/errors_spec.rb +17 -17
- data/spec/unit/braintree/exchange_rate_quote_input_spec.rb +42 -0
- data/spec/unit/braintree/exchange_rate_quote_request_spec.rb +82 -0
- data/spec/unit/braintree/exchange_rate_quote_response_spec.rb +52 -0
- data/spec/unit/braintree/exchange_rate_quote_spec.rb +42 -0
- data/spec/unit/braintree/exchange_rate_spec.rb +23 -0
- data/spec/unit/braintree/http_spec.rb +19 -17
- data/spec/unit/braintree/local_payment_completed_spec.rb +62 -8
- data/spec/unit/braintree/local_payment_expired_spec.rb +24 -0
- data/spec/unit/braintree/local_payment_funded_spec.rb +34 -0
- data/spec/unit/braintree/merchant_account_spec.rb +5 -5
- data/spec/unit/braintree/meta_checkout_card_details_spec.rb +60 -0
- data/spec/unit/braintree/meta_checkout_card_spec.rb +60 -0
- data/spec/unit/braintree/meta_checkout_token_details_spec.rb +63 -0
- data/spec/unit/braintree/meta_checkout_token_spec.rb +63 -0
- data/spec/unit/braintree/modification_spec.rb +1 -1
- data/spec/unit/braintree/package_tracking_spec.rb +77 -0
- data/spec/unit/braintree/payment_method_customer_data_updated_metadata_spec.rb +45 -0
- data/spec/unit/braintree/payment_method_nonce_details_payer_info_spec.rb +31 -0
- data/spec/unit/braintree/payment_method_nonce_details_spec.rb +51 -0
- data/spec/unit/braintree/payment_method_nonce_spec.rb +40 -0
- data/spec/unit/braintree/payment_method_spec.rb +20 -20
- data/spec/unit/braintree/paypal_account_spec.rb +16 -7
- data/spec/unit/braintree/resource_collection_spec.rb +34 -5
- data/spec/unit/braintree/risk_data/liability_shift.rb +26 -0
- data/spec/unit/braintree/risk_data_spec.rb +38 -8
- data/spec/unit/braintree/sepa_debit_account_nonce_details_spec.rb +29 -0
- data/spec/unit/braintree/sepa_debit_account_spec.rb +86 -0
- 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 +18 -18
- data/spec/unit/braintree/subscription_spec.rb +8 -8
- data/spec/unit/braintree/successful_result_spec.rb +6 -6
- data/spec/unit/braintree/three_d_secure_info_spec.rb +37 -17
- data/spec/unit/braintree/transaction/credit_card_details_spec.rb +22 -6
- data/spec/unit/braintree/transaction/customer_details_spec.rb +3 -2
- data/spec/unit/braintree/transaction/deposit_details_spec.rb +4 -4
- data/spec/unit/braintree/transaction/installment_spec.rb +25 -0
- data/spec/unit/braintree/transaction/local_payment_details_spec.rb +36 -0
- data/spec/unit/braintree/transaction/payment_receipt_spec.rb +73 -0
- data/spec/unit/braintree/transaction/paypal_details_spec.rb +63 -0
- data/spec/unit/braintree/transaction/sepa_direct_debit_account_details_spec.rb +33 -0
- data/spec/unit/braintree/transaction_gateway_spec.rb +150 -0
- data/spec/unit/braintree/transaction_search_spec.rb +12 -12
- data/spec/unit/braintree/transaction_spec.rb +221 -124
- 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 +12 -7
- data/spec/unit/braintree/util_spec.rb +78 -44
- data/spec/unit/braintree/validation_error_collection_spec.rb +62 -62
- data/spec/unit/braintree/validation_error_spec.rb +4 -4
- data/spec/unit/braintree/venmo_profile_data_spec.rb +43 -0
- data/spec/unit/braintree/webhook_notification_spec.rb +434 -197
- data/spec/unit/braintree/xml/libxml_spec.rb +5 -5
- data/spec/unit/braintree/xml/parser_spec.rb +27 -22
- data/spec/unit/braintree/xml/rexml_spec.rb +5 -5
- data/spec/unit/braintree/xml_spec.rb +38 -38
- data/spec/unit/braintree_spec.rb +2 -2
- metadata +91 -30
- data/lib/braintree/amex_express_checkout_card.rb +0 -38
- data/lib/braintree/coinbase_account.rb +0 -34
- data/lib/braintree/europe_bank_account.rb +0 -36
- data/lib/braintree/europe_bank_account_gateway.rb +0 -17
- data/lib/braintree/ideal_payment.rb +0 -61
- data/lib/braintree/ideal_payment_gateway.rb +0 -19
- data/lib/braintree/masterpass_card.rb +0 -81
- data/lib/braintree/settlement_batch.rb +0 -0
- data/lib/braintree/transaction/amex_express_checkout_details.rb +0 -21
- data/lib/braintree/transaction/ideal_payment_details.rb +0 -19
- data/lib/braintree/transaction/masterpass_card_details.rb +0 -47
- data/lib/braintree/transparent_redirect.rb +0 -40
- data/lib/braintree/transparent_redirect_gateway.rb +0 -105
- data/spec/hacks/tcp_socket.rb +0 -18
- data/spec/integration/braintree/coinbase_spec.rb +0 -34
- data/spec/integration/braintree/masterpass_card_spec.rb +0 -97
- data/spec/integration/braintree/transparent_redirect_spec.rb +0 -268
- data/spec/unit/braintree/transparent_redirect_spec.rb +0 -223
@@ -14,23 +14,28 @@ describe Braintree::Address do
|
|
14
14
|
:extended_address => "Suite 200",
|
15
15
|
:locality => "Chicago",
|
16
16
|
:region => "Illinois",
|
17
|
+
:phone_number => "5551231234",
|
18
|
+
:international_phone => {:country_code => "1", :national_number => "3121234567"},
|
17
19
|
:postal_code => "60622",
|
18
|
-
:country_name => "United States of America"
|
20
|
+
:country_name => "United States of America",
|
19
21
|
)
|
20
|
-
result.success
|
21
|
-
result.address.customer_id.
|
22
|
-
result.address.first_name.
|
23
|
-
result.address.last_name.
|
24
|
-
result.address.company.
|
25
|
-
result.address.street_address.
|
26
|
-
result.address.extended_address.
|
27
|
-
result.address.locality.
|
28
|
-
result.address.region.
|
29
|
-
result.address.
|
30
|
-
result.address.
|
31
|
-
result.address.
|
32
|
-
result.address.
|
33
|
-
result.address.
|
22
|
+
expect(result.success?).to eq(true)
|
23
|
+
expect(result.address.customer_id).to eq(customer.id)
|
24
|
+
expect(result.address.first_name).to eq("Ben")
|
25
|
+
expect(result.address.last_name).to eq("Moore")
|
26
|
+
expect(result.address.company).to eq("Moore Co.")
|
27
|
+
expect(result.address.street_address).to eq("1811 E Main St")
|
28
|
+
expect(result.address.extended_address).to eq("Suite 200")
|
29
|
+
expect(result.address.locality).to eq("Chicago")
|
30
|
+
expect(result.address.region).to eq("Illinois")
|
31
|
+
expect(result.address.phone_number).to eq("5551231234")
|
32
|
+
expect(result.address.international_phone[:country_code]).to eq("1")
|
33
|
+
expect(result.address.international_phone[:national_number]).to eq("3121234567")
|
34
|
+
expect(result.address.postal_code).to eq("60622")
|
35
|
+
expect(result.address.country_name).to eq("United States of America")
|
36
|
+
expect(result.address.country_code_alpha2).to eq("US")
|
37
|
+
expect(result.address.country_code_alpha3).to eq("USA")
|
38
|
+
expect(result.address.country_code_numeric).to eq("840")
|
34
39
|
end
|
35
40
|
|
36
41
|
it "accepts country_codes" do
|
@@ -39,23 +44,23 @@ describe Braintree::Address do
|
|
39
44
|
:customer_id => customer.id,
|
40
45
|
:country_code_alpha2 => "AS",
|
41
46
|
:country_code_alpha3 => "ASM",
|
42
|
-
:country_code_numeric => "16"
|
47
|
+
:country_code_numeric => "16",
|
43
48
|
)
|
44
|
-
result.success
|
45
|
-
result.address.country_name.
|
46
|
-
result.address.country_code_alpha2.
|
47
|
-
result.address.country_code_alpha3.
|
48
|
-
result.address.country_code_numeric.
|
49
|
+
expect(result.success?).to eq(true)
|
50
|
+
expect(result.address.country_name).to eq("American Samoa")
|
51
|
+
expect(result.address.country_code_alpha2).to eq("AS")
|
52
|
+
expect(result.address.country_code_alpha3).to eq("ASM")
|
53
|
+
expect(result.address.country_code_numeric).to eq("016")
|
49
54
|
end
|
50
55
|
|
51
56
|
it "accepts utf-8 country names" do
|
52
57
|
customer = Braintree::Customer.create!
|
53
58
|
result = Braintree::Address.create(
|
54
59
|
:customer_id => customer.id,
|
55
|
-
:country_name => "Åland"
|
60
|
+
:country_name => "Åland",
|
56
61
|
)
|
57
|
-
result.success
|
58
|
-
result.address.country_name.
|
62
|
+
expect(result.success?).to eq(true)
|
63
|
+
expect(result.address.country_name).to eq("Åland")
|
59
64
|
end
|
60
65
|
|
61
66
|
it "returns an error response given inconsistent country codes" do
|
@@ -63,50 +68,50 @@ describe Braintree::Address do
|
|
63
68
|
result = Braintree::Address.create(
|
64
69
|
:customer_id => customer.id,
|
65
70
|
:country_code_alpha2 => "AS",
|
66
|
-
:country_code_alpha3 => "USA"
|
71
|
+
:country_code_alpha3 => "USA",
|
67
72
|
)
|
68
|
-
result.success
|
69
|
-
result.errors.for(:address).on(:base).map {|e| e.code}.
|
73
|
+
expect(result.success?).to eq(false)
|
74
|
+
expect(result.errors.for(:address).on(:base).map { |e| e.code }).to include(Braintree::ErrorCodes::Address::InconsistentCountry)
|
70
75
|
end
|
71
76
|
|
72
77
|
it "returns an error response given an invalid country_code_alpha2" do
|
73
78
|
customer = Braintree::Customer.create!
|
74
79
|
result = Braintree::Address.create(
|
75
80
|
:customer_id => customer.id,
|
76
|
-
:country_code_alpha2 => "zz"
|
81
|
+
:country_code_alpha2 => "zz",
|
77
82
|
)
|
78
|
-
result.success
|
79
|
-
result.errors.for(:address).on(:country_code_alpha2).map {|e| e.code}.
|
83
|
+
expect(result.success?).to eq(false)
|
84
|
+
expect(result.errors.for(:address).on(:country_code_alpha2).map { |e| e.code }).to include(Braintree::ErrorCodes::Address::CountryCodeAlpha2IsNotAccepted)
|
80
85
|
end
|
81
86
|
|
82
87
|
it "returns an error response given an invalid country_code_alpha3" do
|
83
88
|
customer = Braintree::Customer.create!
|
84
89
|
result = Braintree::Address.create(
|
85
90
|
:customer_id => customer.id,
|
86
|
-
:country_code_alpha3 => "zzz"
|
91
|
+
:country_code_alpha3 => "zzz",
|
87
92
|
)
|
88
|
-
result.success
|
89
|
-
result.errors.for(:address).on(:country_code_alpha3).map {|e| e.code}.
|
93
|
+
expect(result.success?).to eq(false)
|
94
|
+
expect(result.errors.for(:address).on(:country_code_alpha3).map { |e| e.code }).to include(Braintree::ErrorCodes::Address::CountryCodeAlpha3IsNotAccepted)
|
90
95
|
end
|
91
96
|
|
92
97
|
it "returns an error response given an invalid country_code_numeric" do
|
93
98
|
customer = Braintree::Customer.create!
|
94
99
|
result = Braintree::Address.create(
|
95
100
|
:customer_id => customer.id,
|
96
|
-
:country_code_numeric => "zz"
|
101
|
+
:country_code_numeric => "zz",
|
97
102
|
)
|
98
|
-
result.success
|
99
|
-
result.errors.for(:address).on(:country_code_numeric).map {|e| e.code}.
|
103
|
+
expect(result.success?).to eq(false)
|
104
|
+
expect(result.errors.for(:address).on(:country_code_numeric).map { |e| e.code }).to include(Braintree::ErrorCodes::Address::CountryCodeNumericIsNotAccepted)
|
100
105
|
end
|
101
106
|
|
102
107
|
it "returns an error response if invalid" do
|
103
108
|
customer = Braintree::Customer.create!(:last_name => "Wilson")
|
104
109
|
result = Braintree::Address.create(
|
105
110
|
:customer_id => customer.id,
|
106
|
-
:country_name => "United States of Invalid"
|
111
|
+
:country_name => "United States of Invalid",
|
107
112
|
)
|
108
|
-
result.success
|
109
|
-
result.errors.for(:address).on(:country_name)[0].message.
|
113
|
+
expect(result.success?).to eq(false)
|
114
|
+
expect(result.errors.for(:address).on(:country_name)[0].message).to eq("Country name is not an accepted country.")
|
110
115
|
end
|
111
116
|
|
112
117
|
it "allows -, _, A-Z, a-z, and 0-9 in customer_id without raising an ArgumentError" do
|
@@ -131,16 +136,18 @@ describe Braintree::Address do
|
|
131
136
|
:extended_address => "Suite 201",
|
132
137
|
:locality => "Bartlett",
|
133
138
|
:region => "IL",
|
139
|
+
:phone_number => "5551231234",
|
134
140
|
:postal_code => "60623",
|
135
|
-
:country_name => "United States of America"
|
141
|
+
:country_name => "United States of America",
|
136
142
|
)
|
137
|
-
address.customer_id.
|
138
|
-
address.street_address.
|
139
|
-
address.extended_address.
|
140
|
-
address.locality.
|
141
|
-
address.region.
|
142
|
-
address.
|
143
|
-
address.
|
143
|
+
expect(address.customer_id).to eq(customer.id)
|
144
|
+
expect(address.street_address).to eq("1812 E Main St")
|
145
|
+
expect(address.extended_address).to eq("Suite 201")
|
146
|
+
expect(address.locality).to eq("Bartlett")
|
147
|
+
expect(address.region).to eq("IL")
|
148
|
+
expect(address.phone_number).to eq("5551231234")
|
149
|
+
expect(address.postal_code).to eq("60623")
|
150
|
+
expect(address.country_name).to eq("United States of America")
|
144
151
|
end
|
145
152
|
|
146
153
|
it "raises a ValidationsFailed if invalid" do
|
@@ -148,7 +155,7 @@ describe Braintree::Address do
|
|
148
155
|
expect do
|
149
156
|
Braintree::Address.create!(
|
150
157
|
:customer_id => customer.id,
|
151
|
-
:country_name => "United States of Invalid"
|
158
|
+
:country_name => "United States of Invalid",
|
152
159
|
)
|
153
160
|
end.to raise_error(Braintree::ValidationsFailed)
|
154
161
|
end
|
@@ -158,7 +165,7 @@ describe Braintree::Address do
|
|
158
165
|
it "deletes the address given a customer id and an address id" do
|
159
166
|
customer = Braintree::Customer.create!(:last_name => "Wilson")
|
160
167
|
address = Braintree::Address.create!(:customer_id => customer.id, :street_address => "123 E Main St")
|
161
|
-
Braintree::Address.delete(customer.id, address.id).success
|
168
|
+
expect(Braintree::Address.delete(customer.id, address.id).success?).to eq(true)
|
162
169
|
expect do
|
163
170
|
Braintree::Address.find(customer.id, address.id)
|
164
171
|
end.to raise_error(Braintree::NotFoundError)
|
@@ -167,7 +174,7 @@ describe Braintree::Address do
|
|
167
174
|
it "deletes the address given a customer and an address id" do
|
168
175
|
customer = Braintree::Customer.create!(:last_name => "Wilson")
|
169
176
|
address = Braintree::Address.create!(:customer_id => customer.id, :street_address => "123 E Main St")
|
170
|
-
Braintree::Address.delete(customer, address.id).success
|
177
|
+
expect(Braintree::Address.delete(customer, address.id).success?).to eq(true)
|
171
178
|
expect do
|
172
179
|
Braintree::Address.find(customer.id, address.id)
|
173
180
|
end.to raise_error(Braintree::NotFoundError)
|
@@ -178,13 +185,13 @@ describe Braintree::Address do
|
|
178
185
|
it "finds the address given a customer and an address id" do
|
179
186
|
customer = Braintree::Customer.create!(:last_name => "Wilson")
|
180
187
|
address = Braintree::Address.create!(:customer_id => customer.id, :street_address => "123 E Main St")
|
181
|
-
Braintree::Address.find(customer, address.id).
|
188
|
+
expect(Braintree::Address.find(customer, address.id)).to eq(address)
|
182
189
|
end
|
183
190
|
|
184
191
|
it "finds the address given a customer id and an address id" do
|
185
192
|
customer = Braintree::Customer.create!(:last_name => "Wilson")
|
186
193
|
address = Braintree::Address.create!(:customer_id => customer.id, :street_address => "123 E Main St")
|
187
|
-
Braintree::Address.find(customer.id, address.id).
|
194
|
+
expect(Braintree::Address.find(customer.id, address.id)).to eq(address)
|
188
195
|
end
|
189
196
|
|
190
197
|
it "raises a NotFoundError if it cannot be found because of customer id" do
|
@@ -199,7 +206,7 @@ describe Braintree::Address do
|
|
199
206
|
|
200
207
|
it "raises a NotFoundError if it cannot be found because of address id" do
|
201
208
|
customer = Braintree::Customer.create!(:last_name => "Wilson")
|
202
|
-
|
209
|
+
Braintree::Address.create!(:customer_id => customer.id, :street_address => "123 E Main St")
|
203
210
|
expect do
|
204
211
|
Braintree::Address.find(customer, "invalid")
|
205
212
|
end.to raise_error(
|
@@ -211,7 +218,7 @@ describe Braintree::Address do
|
|
211
218
|
describe "self.update" do
|
212
219
|
it "raises NotFoundError if the address can't be found" do
|
213
220
|
customer = Braintree::Customer.create!(:last_name => "Wilson")
|
214
|
-
|
221
|
+
Braintree::Address.create!(:customer_id => customer.id, :street_address => "123 E Main St")
|
215
222
|
expect do
|
216
223
|
Braintree::Address.update(customer.id, "bad-id", {})
|
217
224
|
end.to raise_error(Braintree::NotFoundError)
|
@@ -226,7 +233,7 @@ describe Braintree::Address do
|
|
226
233
|
:locality => "Old Chicago",
|
227
234
|
:region => "IL",
|
228
235
|
:postal_code => "60620",
|
229
|
-
:country_name => "United States of America"
|
236
|
+
:country_name => "United States of America",
|
230
237
|
)
|
231
238
|
result = Braintree::Address.update(
|
232
239
|
customer.id,
|
@@ -236,60 +243,63 @@ describe Braintree::Address do
|
|
236
243
|
:locality => "Chicago",
|
237
244
|
:region => "Illinois",
|
238
245
|
:postal_code => "60621",
|
239
|
-
:country_name => "United States of America"
|
246
|
+
:country_name => "United States of America",
|
247
|
+
:international_phone => {:country_code => "1", :national_number => "3121234567"},
|
240
248
|
)
|
241
|
-
result.success
|
242
|
-
result.address.street_address.
|
243
|
-
result.address.extended_address.
|
244
|
-
result.address.locality.
|
245
|
-
result.address.region.
|
246
|
-
result.address.postal_code.
|
247
|
-
result.address.country_name.
|
248
|
-
result.address.country_code_alpha2.
|
249
|
-
result.address.country_code_alpha3.
|
250
|
-
result.address.country_code_numeric.
|
249
|
+
expect(result.success?).to eq(true)
|
250
|
+
expect(result.address.street_address).to eq("123 E New St")
|
251
|
+
expect(result.address.extended_address).to eq("New Suite 3")
|
252
|
+
expect(result.address.locality).to eq("Chicago")
|
253
|
+
expect(result.address.region).to eq("Illinois")
|
254
|
+
expect(result.address.postal_code).to eq("60621")
|
255
|
+
expect(result.address.country_name).to eq("United States of America")
|
256
|
+
expect(result.address.country_code_alpha2).to eq("US")
|
257
|
+
expect(result.address.country_code_alpha3).to eq("USA")
|
258
|
+
expect(result.address.country_code_numeric).to eq("840")
|
259
|
+
expect(result.address.international_phone[:country_code]).to eq("1")
|
260
|
+
expect(result.address.international_phone[:national_number]).to eq("3121234567")
|
251
261
|
end
|
252
262
|
|
253
263
|
it "accepts country_codes" do
|
254
264
|
customer = Braintree::Customer.create!(:last_name => "Miller")
|
255
265
|
address = Braintree::Address.create!(
|
256
266
|
:customer_id => customer.id,
|
257
|
-
:country_name => "Angola"
|
267
|
+
:country_name => "Angola",
|
258
268
|
)
|
259
269
|
result = Braintree::Address.update(
|
260
270
|
customer.id,
|
261
271
|
address.id,
|
262
|
-
:country_name => "Azerbaijan"
|
272
|
+
:country_name => "Azerbaijan",
|
263
273
|
)
|
264
274
|
|
265
|
-
result.success
|
266
|
-
result.address.country_name.
|
267
|
-
result.address.country_code_alpha2.
|
268
|
-
result.address.country_code_alpha3.
|
269
|
-
result.address.country_code_numeric.
|
275
|
+
expect(result.success?).to eq(true)
|
276
|
+
expect(result.address.country_name).to eq("Azerbaijan")
|
277
|
+
expect(result.address.country_code_alpha2).to eq("AZ")
|
278
|
+
expect(result.address.country_code_alpha3).to eq("AZE")
|
279
|
+
expect(result.address.country_code_numeric).to eq("031")
|
270
280
|
end
|
271
281
|
|
272
282
|
it "returns an error response if invalid" do
|
273
283
|
customer = Braintree::Customer.create!(:last_name => "Miller")
|
274
284
|
address = Braintree::Address.create!(
|
275
285
|
:customer_id => customer.id,
|
276
|
-
:country_name => "United States of America"
|
286
|
+
:country_name => "United States of America",
|
277
287
|
)
|
278
288
|
result = Braintree::Address.update(
|
279
289
|
customer.id,
|
280
290
|
address.id,
|
281
291
|
:street_address => "123 E New St",
|
282
|
-
:country_name => "United States of Invalid"
|
292
|
+
:country_name => "United States of Invalid",
|
283
293
|
)
|
284
|
-
result.success
|
285
|
-
result.errors.for(:address).on(:country_name)[0].message.
|
294
|
+
expect(result.success?).to eq(false)
|
295
|
+
expect(result.errors.for(:address).on(:country_name)[0].message).to eq("Country name is not an accepted country.")
|
286
296
|
end
|
287
297
|
end
|
288
298
|
|
289
299
|
describe "self.update!" do
|
290
300
|
it "raises NotFoundError if the address can't be found" do
|
291
301
|
customer = Braintree::Customer.create!(:last_name => "Wilson")
|
292
|
-
|
302
|
+
Braintree::Address.create!(:customer_id => customer.id, :street_address => "123 E Main St")
|
293
303
|
expect do
|
294
304
|
Braintree::Address.update!(customer.id, "bad-id", {})
|
295
305
|
end.to raise_error(Braintree::NotFoundError)
|
@@ -304,7 +314,7 @@ describe Braintree::Address do
|
|
304
314
|
:locality => "Old Chicago",
|
305
315
|
:region => "IL",
|
306
316
|
:postal_code => "60620",
|
307
|
-
:country_name => "United States of America"
|
317
|
+
:country_name => "United States of America",
|
308
318
|
)
|
309
319
|
updated_address = Braintree::Address.update!(
|
310
320
|
customer.id,
|
@@ -314,29 +324,29 @@ describe Braintree::Address do
|
|
314
324
|
:locality => "Chicago",
|
315
325
|
:region => "Illinois",
|
316
326
|
:postal_code => "60621",
|
317
|
-
:country_name => "United States of America"
|
327
|
+
:country_name => "United States of America",
|
318
328
|
)
|
319
|
-
updated_address.
|
320
|
-
updated_address.street_address.
|
321
|
-
updated_address.extended_address.
|
322
|
-
updated_address.locality.
|
323
|
-
updated_address.region.
|
324
|
-
updated_address.postal_code.
|
325
|
-
updated_address.country_name.
|
329
|
+
expect(updated_address).to eq(address)
|
330
|
+
expect(updated_address.street_address).to eq("123 E New St")
|
331
|
+
expect(updated_address.extended_address).to eq("New Suite 3")
|
332
|
+
expect(updated_address.locality).to eq("Chicago")
|
333
|
+
expect(updated_address.region).to eq("Illinois")
|
334
|
+
expect(updated_address.postal_code).to eq("60621")
|
335
|
+
expect(updated_address.country_name).to eq("United States of America")
|
326
336
|
end
|
327
337
|
|
328
338
|
it "raises a ValidationsFailed invalid" do
|
329
339
|
customer = Braintree::Customer.create!(:last_name => "Miller")
|
330
340
|
address = Braintree::Address.create!(
|
331
341
|
:customer_id => customer.id,
|
332
|
-
:country_name => "United States of America"
|
342
|
+
:country_name => "United States of America",
|
333
343
|
)
|
334
344
|
expect do
|
335
345
|
Braintree::Address.update!(
|
336
346
|
customer.id,
|
337
347
|
address.id,
|
338
348
|
:street_address => "123 E New St",
|
339
|
-
:country_name => "United States of Invalid"
|
349
|
+
:country_name => "United States of Invalid",
|
340
350
|
)
|
341
351
|
end.to raise_error(Braintree::ValidationsFailed)
|
342
352
|
end
|
@@ -347,98 +357,11 @@ describe Braintree::Address do
|
|
347
357
|
it "deletes the address" do
|
348
358
|
customer = Braintree::Customer.create!(:last_name => "Wilson")
|
349
359
|
address = Braintree::Address.create!(:customer_id => customer.id, :street_address => "123 E Main St")
|
350
|
-
|
360
|
+
result = Braintree::Address.delete(customer.id, address.id)
|
361
|
+
expect(result.success?).to eq(true)
|
351
362
|
expect do
|
352
363
|
Braintree::Address.find(customer.id, address.id)
|
353
364
|
end.to raise_error(Braintree::NotFoundError)
|
354
365
|
end
|
355
366
|
end
|
356
|
-
|
357
|
-
describe "update" do
|
358
|
-
it "returns a success response and updates the address if valid" do
|
359
|
-
customer = Braintree::Customer.create!(:last_name => "Miller")
|
360
|
-
address = Braintree::Address.create!(
|
361
|
-
:customer_id => customer.id,
|
362
|
-
:street_address => "1812 E Old St",
|
363
|
-
:extended_address => "Suite Old 201",
|
364
|
-
:locality => "Old Chicago",
|
365
|
-
:region => "IL",
|
366
|
-
:postal_code => "60620",
|
367
|
-
:country_name => "United States of America"
|
368
|
-
)
|
369
|
-
result = address.update(
|
370
|
-
:street_address => "123 E New St",
|
371
|
-
:extended_address => "New Suite 3",
|
372
|
-
:locality => "Chicago",
|
373
|
-
:region => "Illinois",
|
374
|
-
:postal_code => "60621",
|
375
|
-
:country_name => "United States of America"
|
376
|
-
)
|
377
|
-
result.success?.should == true
|
378
|
-
result.address.should == address
|
379
|
-
address.street_address.should == "123 E New St"
|
380
|
-
address.extended_address.should == "New Suite 3"
|
381
|
-
address.locality.should == "Chicago"
|
382
|
-
address.region.should == "Illinois"
|
383
|
-
address.postal_code.should == "60621"
|
384
|
-
address.country_name.should == "United States of America"
|
385
|
-
end
|
386
|
-
|
387
|
-
it "returns an error response if invalid" do
|
388
|
-
customer = Braintree::Customer.create!(:last_name => "Miller")
|
389
|
-
address = Braintree::Address.create!(
|
390
|
-
:customer_id => customer.id,
|
391
|
-
:country_name => "United States of America"
|
392
|
-
)
|
393
|
-
result = address.update(
|
394
|
-
:street_address => "123 E New St",
|
395
|
-
:country_name => "United States of Invalid"
|
396
|
-
)
|
397
|
-
result.success?.should == false
|
398
|
-
result.errors.for(:address).on(:country_name)[0].message.should == "Country name is not an accepted country."
|
399
|
-
end
|
400
|
-
end
|
401
|
-
|
402
|
-
describe "update!" do
|
403
|
-
it "returns true and updates the address if valid" do
|
404
|
-
customer = Braintree::Customer.create!(:last_name => "Miller")
|
405
|
-
address = Braintree::Address.create!(
|
406
|
-
:customer_id => customer.id,
|
407
|
-
:street_address => "1812 E Old St",
|
408
|
-
:extended_address => "Suite Old 201",
|
409
|
-
:locality => "Old Chicago",
|
410
|
-
:region => "IL",
|
411
|
-
:postal_code => "60620",
|
412
|
-
:country_name => "United States of America"
|
413
|
-
)
|
414
|
-
address.update!(
|
415
|
-
:street_address => "123 E New St",
|
416
|
-
:extended_address => "New Suite 3",
|
417
|
-
:locality => "Chicago",
|
418
|
-
:region => "Illinois",
|
419
|
-
:postal_code => "60621",
|
420
|
-
:country_name => "United States of America"
|
421
|
-
).should == address
|
422
|
-
address.street_address.should == "123 E New St"
|
423
|
-
address.extended_address.should == "New Suite 3"
|
424
|
-
address.locality.should == "Chicago"
|
425
|
-
address.region.should == "Illinois"
|
426
|
-
address.postal_code.should == "60621"
|
427
|
-
address.country_name.should == "United States of America"
|
428
|
-
end
|
429
|
-
|
430
|
-
it "raises a ValidationsFailed invalid" do
|
431
|
-
customer = Braintree::Customer.create!(:last_name => "Miller")
|
432
|
-
address = Braintree::Address.create!(
|
433
|
-
:customer_id => customer.id,
|
434
|
-
:country_name => "United States of America"
|
435
|
-
)
|
436
|
-
expect do
|
437
|
-
address.update!(
|
438
|
-
:street_address => "123 E New St",
|
439
|
-
:country_name => "United States of Invalid"
|
440
|
-
)
|
441
|
-
end.to raise_error(Braintree::ValidationsFailed)
|
442
|
-
end
|
443
|
-
end
|
444
367
|
end
|