adyen-ruby-api-library 6.0.0 → 10.1.2
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/.github/CODEOWNERS +1 -1
- data/.github/release.yml +18 -0
- data/.github/workflows/codeql.yml +37 -0
- data/.github/workflows/label_new_issues.yml +15 -0
- data/.github/workflows/release.yml +40 -0
- data/.github/workflows/ruby.yml +2 -2
- data/.github/workflows/rubygems_release.yml +18 -0
- data/.github/workflows/stale.yml +26 -0
- data/.gitignore +3 -0
- data/.rubocop.yml +8 -0
- data/CONTRIBUTING.md +1 -1
- data/Gemfile +7 -7
- data/Makefile +79 -0
- data/README.md +158 -20
- data/Rakefile +3 -3
- data/VERSION +2 -0
- data/adyen-ruby-api-library.gemspec +6 -3
- data/bin/console +2 -2
- data/lib/adyen/client.rb +213 -99
- data/lib/adyen/errors.rb +30 -22
- data/lib/adyen/hash_with_accessors.rb +12 -7
- data/lib/adyen/services/balanceControlService.rb +27 -0
- data/lib/adyen/services/balancePlatform/account_holders_api.rb +76 -0
- data/lib/adyen/services/balancePlatform/balance_accounts_api.rb +116 -0
- data/lib/adyen/services/balancePlatform/bank_account_validation_api.rb +26 -0
- data/lib/adyen/services/balancePlatform/card_orders_api.rb +36 -0
- data/lib/adyen/services/balancePlatform/grant_accounts_api.rb +26 -0
- data/lib/adyen/services/balancePlatform/grant_offers_api.rb +36 -0
- data/lib/adyen/services/balancePlatform/manage_card_pin_api.rb +46 -0
- data/lib/adyen/services/balancePlatform/manage_sca_devices_api.rb +56 -0
- data/lib/adyen/services/balancePlatform/network_tokens_api.rb +36 -0
- data/lib/adyen/services/balancePlatform/payment_instrument_groups_api.rb +46 -0
- data/lib/adyen/services/balancePlatform/payment_instruments_api.rb +86 -0
- data/lib/adyen/services/balancePlatform/platform_api.rb +46 -0
- data/lib/adyen/services/balancePlatform/transaction_rules_api.rb +56 -0
- data/lib/adyen/services/balancePlatform/transfer_routes_api.rb +26 -0
- data/lib/adyen/services/balancePlatform.rb +89 -0
- data/lib/adyen/services/binLookup.rb +37 -0
- data/lib/adyen/services/checkout/donations_api.rb +36 -0
- data/lib/adyen/services/checkout/modifications_api.rb +76 -0
- data/lib/adyen/services/checkout/orders_api.rb +46 -0
- data/lib/adyen/services/checkout/payment_links_api.rb +46 -0
- data/lib/adyen/services/checkout/payments_api.rb +76 -0
- data/lib/adyen/services/checkout/recurring_api.rb +46 -0
- data/lib/adyen/services/checkout/utility_api.rb +48 -0
- data/lib/adyen/services/checkout.rb +29 -108
- data/lib/adyen/services/dataProtection.rb +27 -0
- data/lib/adyen/services/disputes.rb +67 -0
- data/lib/adyen/services/legalEntityManagement/business_lines_api.rb +56 -0
- data/lib/adyen/services/legalEntityManagement/documents_api.rb +56 -0
- data/lib/adyen/services/legalEntityManagement/hosted_onboarding_api.rb +46 -0
- data/lib/adyen/services/legalEntityManagement/legal_entities_api.rb +76 -0
- data/lib/adyen/services/legalEntityManagement/pci_questionnaires_api.rb +66 -0
- data/lib/adyen/services/legalEntityManagement/tax_e_delivery_consent_api.rb +36 -0
- data/lib/adyen/services/legalEntityManagement/terms_of_service_api.rb +66 -0
- data/lib/adyen/services/legalEntityManagement/transfer_instruments_api.rb +56 -0
- data/lib/adyen/services/legalEntityManagement.rb +59 -0
- data/lib/adyen/services/management/account_company_level_api.rb +46 -0
- data/lib/adyen/services/management/account_merchant_level_api.rb +56 -0
- data/lib/adyen/services/management/account_store_level_api.rb +96 -0
- data/lib/adyen/services/management/allowed_origins_company_level_api.rb +56 -0
- data/lib/adyen/services/management/allowed_origins_merchant_level_api.rb +56 -0
- data/lib/adyen/services/management/android_files_company_level_api.rb +76 -0
- data/lib/adyen/services/management/api_credentials_company_level_api.rb +56 -0
- data/lib/adyen/services/management/api_credentials_merchant_level_api.rb +56 -0
- data/lib/adyen/services/management/api_key_company_level_api.rb +26 -0
- data/lib/adyen/services/management/api_key_merchant_level_api.rb +26 -0
- data/lib/adyen/services/management/client_key_company_level_api.rb +26 -0
- data/lib/adyen/services/management/client_key_merchant_level_api.rb +26 -0
- data/lib/adyen/services/management/my_api_credential_api.rb +76 -0
- data/lib/adyen/services/management/payment_methods_merchant_level_api.rb +76 -0
- data/lib/adyen/services/management/payout_settings_merchant_level_api.rb +66 -0
- data/lib/adyen/services/management/split_configuration_merchant_level_api.rb +106 -0
- data/lib/adyen/services/management/terminal_actions_company_level_api.rb +36 -0
- data/lib/adyen/services/management/terminal_actions_terminal_level_api.rb +26 -0
- data/lib/adyen/services/management/terminal_orders_company_level_api.rb +116 -0
- data/lib/adyen/services/management/terminal_orders_merchant_level_api.rb +116 -0
- data/lib/adyen/services/management/terminal_settings_company_level_api.rb +56 -0
- data/lib/adyen/services/management/terminal_settings_merchant_level_api.rb +56 -0
- data/lib/adyen/services/management/terminal_settings_store_level_api.rb +96 -0
- data/lib/adyen/services/management/terminal_settings_terminal_level_api.rb +56 -0
- data/lib/adyen/services/management/terminals_terminal_level_api.rb +36 -0
- data/lib/adyen/services/management/users_company_level_api.rb +56 -0
- data/lib/adyen/services/management/users_merchant_level_api.rb +56 -0
- data/lib/adyen/services/management/webhooks_company_level_api.rb +86 -0
- data/lib/adyen/services/management/webhooks_merchant_level_api.rb +86 -0
- data/lib/adyen/services/management.rb +164 -0
- data/lib/adyen/services/marketpay.rb +42 -36
- data/lib/adyen/services/payment.rb +149 -0
- data/lib/adyen/services/paymentsApp.rb +67 -0
- data/lib/adyen/services/payout/initialization_api.rb +46 -0
- data/lib/adyen/services/payout/instant_payouts_api.rb +26 -0
- data/lib/adyen/services/payout/reviewing_api.rb +36 -0
- data/lib/adyen/services/payout.rb +34 -0
- data/lib/adyen/services/posMobile.rb +27 -0
- data/lib/adyen/services/posTerminalManagement.rb +82 -0
- data/lib/adyen/services/recurring.rb +70 -13
- data/lib/adyen/services/service.rb +8 -2
- data/lib/adyen/services/storedValue.rb +77 -0
- data/lib/adyen/services/terminalCloudAPI.rb +38 -0
- data/lib/adyen/services/transfers/capital_api.rb +55 -0
- data/lib/adyen/services/transfers/transactions_api.rb +36 -0
- data/lib/adyen/services/transfers/transfers_api.rb +76 -0
- data/lib/adyen/services/transfers.rb +34 -0
- data/lib/adyen/utils/hmac_validator.rb +52 -22
- data/lib/adyen/version.rb +2 -2
- data/lib/adyen-ruby-api-library.rb +23 -15
- data/renovate.json +3 -3
- data/spec/account_spec.rb +20 -20
- data/spec/balance_control_spec.rb +43 -0
- data/spec/balance_platform_spec.rb +129 -0
- data/spec/bin_lookup_spec.rb +69 -11
- data/spec/checkout-oauth_spec.rb +588 -0
- data/spec/checkout_spec.rb +591 -314
- data/spec/client_spec.rb +240 -45
- data/spec/data_protection_spec.rb +4 -4
- data/spec/disputes_spec.rb +45 -0
- data/spec/errors_spec.rb +44 -15
- data/spec/fund_spec.rb +10 -10
- data/spec/hash_with_accessors_spec.rb +18 -8
- data/spec/hop_spec.rb +4 -4
- data/spec/lem_spec.rb +63 -0
- data/spec/management-oauth_spec.rb +62 -0
- data/spec/management_spec.rb +66 -0
- data/spec/mocks/requests/BalanceControl/balance_transfer.json +10 -0
- data/spec/mocks/requests/BalancePlatform/create_account_holder.json +5 -0
- data/spec/mocks/requests/BalancePlatform/update_account_holder.json +10 -0
- data/spec/mocks/requests/Checkout/amount_updates.json +22 -0
- data/spec/mocks/requests/Checkout/apple_pay_sessions.json +5 -0
- data/spec/mocks/requests/Checkout/capture.json +34 -0
- data/spec/mocks/requests/Checkout/generic_cancel.json +5 -0
- data/spec/mocks/requests/Checkout/modifications_request.json +0 -0
- data/spec/mocks/requests/Checkout/psp_cancel.json +4 -0
- data/spec/mocks/requests/Checkout/refund.json +34 -0
- data/spec/mocks/requests/DisputesService/retrieve_applicable_defense_reasons.json +4 -0
- data/spec/mocks/requests/LegalEntityManagement/create_business_line.json +15 -0
- data/spec/mocks/requests/Management/create_store.json +15 -0
- data/spec/mocks/requests/Recurring/create_permit.json +6 -0
- data/spec/mocks/requests/StoredValue/issue_giftcard.json +12 -0
- data/spec/mocks/requests/TerminalCloudAPI/connected_terminals.json +3 -0
- data/spec/mocks/requests/TerminalCloudAPI/sync_payment.json +29 -0
- data/spec/mocks/requests/Transfers/get_transactions.json +82 -0
- data/spec/mocks/requests/Transfers/make_transfer.json +32 -0
- data/spec/mocks/responses/BalanceControl/balance_transfer.json +14 -0
- data/spec/mocks/responses/BalancePlatform/create_account_holder.json +41 -0
- data/spec/mocks/responses/BalancePlatform/get_balance_account.json +15 -0
- data/spec/mocks/responses/BalancePlatform/update_account_holder.json +16 -0
- data/spec/mocks/responses/Checkout/amount_updates.json +24 -0
- data/spec/mocks/responses/Checkout/apple_pay_sessions.json +3 -0
- data/spec/mocks/responses/Checkout/capture.json +37 -0
- data/spec/mocks/responses/Checkout/generic_cancel.json +7 -0
- data/spec/mocks/responses/Checkout/modifications.json +0 -0
- data/spec/mocks/responses/Checkout/psp_cancel.json +7 -0
- data/spec/mocks/responses/Checkout/refund.json +37 -0
- data/spec/mocks/responses/Checkout/stored_payment_methods.json +1 -0
- data/spec/mocks/responses/DisputesService/retrieve_applicable_defense_reasons.json +71 -0
- data/spec/mocks/responses/LegalEntityManagement/create_business_line.json +17 -0
- data/spec/mocks/responses/Management/create_store.json +23 -0
- data/spec/mocks/responses/Management/get_companies.json +42 -0
- data/spec/mocks/responses/Recurring/create_permit.json +4 -0
- data/spec/mocks/responses/StoredValue/issue_giftcard.json +13 -0
- data/spec/mocks/responses/TerminalCloudAPI/connected_terminals.json +5 -0
- data/spec/mocks/responses/TerminalCloudAPI/sync_payment.json +18 -0
- data/spec/mocks/responses/Transfers/get_transactions.json +82 -0
- data/spec/mocks/responses/Transfers/make_transfer.json +36 -0
- data/spec/mocks/responses/Webhooks/backslash_webhook.json +41 -0
- data/spec/mocks/responses/Webhooks/colon_webhook.json +41 -0
- data/spec/mocks/responses/Webhooks/forwardslash_webhook.json +41 -0
- data/spec/mocks/responses/Webhooks/mixed_webhook.json +41 -0
- data/spec/notification_spec.rb +9 -9
- data/spec/payments_spec.rb +39 -22
- data/spec/payouts_spec.rb +39 -15
- data/spec/pos_terminal_management_spec.rb +44 -0
- data/spec/recurring_spec.rb +8 -8
- data/spec/service_spec.rb +4 -0
- data/spec/spec_helper.rb +42 -46
- data/spec/stored_value_spec.rb +44 -0
- data/spec/terminal_cloud_api_spec.rb +91 -0
- data/spec/transfers_spec.rb +64 -0
- data/spec/utils/hmac_validator_spec.rb +53 -23
- data/templates/api-single.mustache +32 -0
- data/templates/api-small.mustache +39 -0
- data/templates/api.mustache +38 -0
- data/templates/config.yaml +10 -0
- metadata +160 -47
- data/.github/dependabot.yml +0 -8
- data/docs/checkout.html +0 -128
- data/docs/index.html +0 -50
- data/docs/install-library.html +0 -61
- data/docs/javascripts/prism.js +0 -5
- data/docs/javascripts/scale.fix.js +0 -17
- data/docs/marketpay.html +0 -171
- data/docs/params.json +0 -1
- data/docs/payment.html +0 -106
- data/docs/payout.html +0 -135
- data/docs/recurring.html +0 -113
- data/docs/stylesheets/github-light.css +0 -115
- data/docs/stylesheets/prism.css +0 -140
- data/docs/stylesheets/styles.css +0 -324
- data/docs/using-library.html +0 -67
- data/lib/adyen/services/bin_lookup.rb +0 -18
- data/lib/adyen/services/data_protection.rb +0 -17
- data/lib/adyen/services/dispute.rb +0 -20
- data/lib/adyen/services/payments.rb +0 -34
- data/lib/adyen/services/payouts.rb +0 -22
- data/lib/adyen/services/postfmapi.rb +0 -19
- data/spec/dispute_spec.rb +0 -17
- data/spec/mocks/requests/DisputeService/defend_dispute.json +0 -5
- data/spec/mocks/requests/DisputeService/delete_dispute_defense_document.json +0 -5
- data/spec/mocks/requests/DisputeService/retrieve_applicable_defense_reasons.json +0 -4
- data/spec/mocks/requests/DisputeService/supply_defense_document.json +0 -11
- data/spec/mocks/requests/Recurring/store_token.json +0 -15
- data/spec/mocks/responses/DisputeService/defend_dispute.json +0 -5
- data/spec/mocks/responses/DisputeService/delete_dispute_defense_document.json +0 -5
- data/spec/mocks/responses/DisputeService/retrieve_applicable_defense_reasons.json +0 -28
- data/spec/mocks/responses/DisputeService/supply_defense_document.json +0 -5
- data/spec/mocks/responses/Recurring/store_token.json +0 -7
- data/spec/postfmapi_spec.rb +0 -16
data/spec/client_spec.rb
CHANGED
@@ -1,86 +1,281 @@
|
|
1
|
-
require
|
1
|
+
require 'spec_helper'
|
2
2
|
|
3
3
|
RSpec.describe Adyen do
|
4
|
-
before(:
|
4
|
+
before(:each) do
|
5
5
|
@shared_values = {
|
6
|
-
client:
|
6
|
+
client: Adyen::Client.new(env: :test)
|
7
7
|
}
|
8
8
|
end
|
9
9
|
|
10
|
-
it
|
10
|
+
it 'creates Adyen client' do
|
11
11
|
@shared_values[:client] = Adyen::Client.new
|
12
12
|
expect(@shared_values[:client]).is_a? Adyen::Client
|
13
13
|
end
|
14
14
|
|
15
|
-
it
|
15
|
+
it 'sets env to :mock' do
|
16
16
|
@shared_values[:client].env = :test
|
17
|
-
expect(@shared_values[:client].env)
|
18
|
-
to eq(:test)
|
17
|
+
expect(@shared_values[:client].env)
|
18
|
+
.to eq(:test)
|
19
19
|
end
|
20
20
|
|
21
|
-
it
|
21
|
+
it 'sets the version number' do
|
22
22
|
@shared_values[:client].checkout.version = @shared_values[:version]
|
23
|
-
expect(@shared_values[:client].checkout.version)
|
24
|
-
to eq(@shared_values[:version])
|
23
|
+
expect(@shared_values[:client].checkout.version)
|
24
|
+
.to eq(@shared_values[:version])
|
25
25
|
end
|
26
26
|
|
27
|
-
it
|
28
|
-
expect{ @shared_values[:client].
|
29
|
-
to raise_error(Adyen::AuthenticationError)
|
27
|
+
it 'fails payments call without WS user and password' do
|
28
|
+
expect { @shared_values[:client].payment.authorise('{}') }
|
29
|
+
.to raise_error(Adyen::AuthenticationError)
|
30
30
|
@shared_values[:client].ws_user = @shared_values[:ws_user]
|
31
|
-
expect{ @shared_values[:client].
|
32
|
-
to raise_error(Adyen::AuthenticationError)
|
31
|
+
expect { @shared_values[:client].payment.authorise('{}') }
|
32
|
+
.to raise_error(Adyen::AuthenticationError)
|
33
33
|
end
|
34
34
|
|
35
|
-
it "fails a checkout call without
|
36
|
-
expect{ @shared_values[:client].checkout.payment_methods("{}") }.
|
35
|
+
it "fails a checkout call without oauth token" do
|
36
|
+
expect{ @shared_values[:client].checkout.payments_api.payment_methods("{}") }.
|
37
37
|
to raise_error(Adyen::AuthenticationError)
|
38
|
-
@shared_values[:client].api_key = "api_key"
|
39
38
|
end
|
40
39
|
|
41
|
-
it
|
42
|
-
|
43
|
-
|
44
|
-
|
40
|
+
it 'fails a checkout call without api key' do
|
41
|
+
expect { @shared_values[:client].checkout.payments_api.payment_methods('{}') }
|
42
|
+
.to raise_error(Adyen::AuthenticationError)
|
43
|
+
@shared_values[:client].api_key = 'api_key'
|
45
44
|
end
|
46
45
|
|
47
|
-
it
|
46
|
+
it 'uses the specified mock service URL' do
|
47
|
+
client = Adyen::Client.new(env: :mock, mock_service_url_base: 'https://mock.test')
|
48
|
+
expect(client.service_url_base('Account'))
|
49
|
+
.to eq('https://mock.test')
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'generates localhost service URL when a mock port is specified' do
|
48
53
|
client = Adyen::Client.new(env: :mock, mock_port: 3005)
|
49
|
-
expect(client.service_url_base(
|
50
|
-
to eq(
|
54
|
+
expect(client.service_url_base('Account'))
|
55
|
+
.to eq('http://localhost:3005')
|
51
56
|
end
|
52
57
|
|
53
|
-
it
|
54
|
-
client = Adyen::Client.new(env: :mock, mock_port: 3005, mock_service_url_base:
|
55
|
-
expect(client.service_url_base(
|
56
|
-
to eq(
|
58
|
+
it 'prefers the mock service URL when both mock service URL and port are specified' do
|
59
|
+
client = Adyen::Client.new(env: :mock, mock_port: 3005, mock_service_url_base: 'https://this-url-wins.test')
|
60
|
+
expect(client.service_url_base('Account'))
|
61
|
+
.to eq('https://this-url-wins.test')
|
57
62
|
end
|
58
63
|
|
59
|
-
it
|
64
|
+
it 'generates the correct service URL base for CAL TEST' do
|
60
65
|
client = Adyen::Client.new(env: :test)
|
61
|
-
client.live_url_prefix =
|
62
|
-
expect(client.service_url_base(
|
63
|
-
to eq(
|
66
|
+
client.live_url_prefix = 'abcdef1234567890-TestCompany'
|
67
|
+
expect(client.service_url_base('Account'))
|
68
|
+
.to eq('https://cal-test.adyen.com/cal/services/Account')
|
64
69
|
end
|
65
70
|
|
66
|
-
it
|
71
|
+
it 'generates the correct service URL base for CAL LIVE' do
|
67
72
|
client = Adyen::Client.new(env: :live)
|
68
|
-
client.live_url_prefix =
|
69
|
-
expect(client.service_url_base(
|
70
|
-
to eq(
|
73
|
+
client.live_url_prefix = 'abcdef1234567890-TestCompany'
|
74
|
+
expect(client.service_url_base('Account'))
|
75
|
+
.to eq('https://cal-live.adyen.com/cal/services/Account')
|
71
76
|
end
|
72
77
|
|
73
|
-
it
|
78
|
+
it 'generates the correct service URL base for PAL TEST' do
|
74
79
|
client = Adyen::Client.new(env: :test)
|
75
|
-
client.live_url_prefix =
|
76
|
-
expect(client.service_url_base(
|
77
|
-
to eq(
|
80
|
+
client.live_url_prefix = 'abcdef1234567890-TestCompany'
|
81
|
+
expect(client.service_url_base('Payment'))
|
82
|
+
.to eq('https://pal-test.adyen.com/pal/servlet/Payment')
|
78
83
|
end
|
79
84
|
|
80
|
-
it
|
85
|
+
it 'generates the correct service URL base for PAL LIVE' do
|
81
86
|
client = Adyen::Client.new(env: :live)
|
82
|
-
client.live_url_prefix =
|
83
|
-
expect(client.service_url_base(
|
84
|
-
to eq(
|
87
|
+
client.live_url_prefix = 'abcdef1234567890-TestCompany'
|
88
|
+
expect(client.service_url_base('Payment'))
|
89
|
+
.to eq('https://abcdef1234567890-TestCompany-pal-live.adyenpayments.com/pal/servlet/Payment')
|
90
|
+
end
|
91
|
+
|
92
|
+
it 'generates the correct service URL PAL authorise TEST' do
|
93
|
+
client = Adyen::Client.new(env: :test)
|
94
|
+
expect(client.service_url('Payment', 'authorise', '68'))
|
95
|
+
.to eq('https://pal-test.adyen.com/pal/servlet/Payment/v68/authorise')
|
96
|
+
end
|
97
|
+
|
98
|
+
it 'generates the correct service URL base for PAL LIVE' do
|
99
|
+
client = Adyen::Client.new(env: :live)
|
100
|
+
client.live_url_prefix = 'abcdef1234567890-TestCompany'
|
101
|
+
expect(client.service_url('Payment', 'authorise', '68'))
|
102
|
+
.to eq('https://abcdef1234567890-TestCompany-pal-live.adyenpayments.com/pal/servlet/Payment/v68/authorise')
|
103
|
+
end
|
104
|
+
|
105
|
+
it 'generates a new set of ConnectionOptions when none are provided' do
|
106
|
+
expect(Faraday::ConnectionOptions).to receive(:new).and_call_original
|
107
|
+
Adyen::Client.new(env: :test)
|
108
|
+
end
|
109
|
+
|
110
|
+
it 'uses the ConnectionOptions provided' do
|
111
|
+
connection_options = Faraday::ConnectionOptions.new
|
112
|
+
expect(Faraday::ConnectionOptions).not_to receive(:new)
|
113
|
+
Adyen::Client.new(env: :test, connection_options: connection_options)
|
114
|
+
end
|
115
|
+
|
116
|
+
it 'initiates a Faraday connection with the provided options' do
|
117
|
+
connection_options = Faraday::ConnectionOptions.new
|
118
|
+
expect(Faraday::ConnectionOptions).not_to receive(:new)
|
119
|
+
client = Adyen::Client.new(api_key: 'api_key', env: :mock, connection_options: connection_options)
|
120
|
+
|
121
|
+
mock_faraday_connection = double(Faraday::Connection)
|
122
|
+
client.service_url(@shared_values[:service], 'payments/details', client.checkout.version)
|
123
|
+
request_body = JSON.parse(json_from_file('mocks/requests/Checkout/payment-details.json'))
|
124
|
+
mock_response = Faraday::Response.new(status: 200)
|
125
|
+
|
126
|
+
expect(Adyen::AdyenResult).to receive(:new)
|
127
|
+
expect(Faraday).to receive(:new).with('http://localhost:3001/v71/payments/details',
|
128
|
+
connection_options).and_return(mock_faraday_connection)
|
129
|
+
expect(mock_faraday_connection).to receive(:post).and_return(mock_response)
|
130
|
+
client.checkout.payments_api.payments_details(request_body)
|
131
|
+
end
|
132
|
+
|
133
|
+
it "checks the creation of checkout url" do
|
134
|
+
client = Adyen::Client.new(api_key: "api_key", env: :test)
|
135
|
+
expect(client.service_url("Checkout", "paymentMethods", "71")).
|
136
|
+
to eq("https://checkout-test.adyen.com/v71/paymentMethods")
|
137
|
+
end
|
138
|
+
|
139
|
+
it "checks the creation of checkout url" do
|
140
|
+
client = Adyen::Client.new(api_key: "api_key", env: :live, live_url_prefix: "YourLiveUrlPrefix")
|
141
|
+
expect(client.service_url("Checkout", "paymentMethods", "71")).
|
142
|
+
to eq("https://YourLiveUrlPrefix-checkout-live.adyenpayments.com/checkout/v71/paymentMethods")
|
143
|
+
end
|
144
|
+
it "checks the creation of lem url" do
|
145
|
+
client = Adyen::Client.new(api_key: "api_key", env: :live)
|
146
|
+
expect(client.service_url("LegalEntityManagement", "businessLines", "3")).
|
147
|
+
to eq("https://kyc-live.adyen.com/lem/v3/businessLines")
|
148
|
+
end
|
149
|
+
|
150
|
+
it "checks the creation of balancePlatform url" do
|
151
|
+
client = Adyen::Client.new(api_key: "api_key", env: :live)
|
152
|
+
expect(client.service_url("BalancePlatform", "legalEntities", "1")).
|
153
|
+
to eq("https://balanceplatform-api-live.adyen.com/bcl/v1/legalEntities")
|
154
|
+
end
|
155
|
+
|
156
|
+
it "checks the creation of balancePlatform url" do
|
157
|
+
client = Adyen::Client.new(api_key: "api_key", env: :test)
|
158
|
+
expect(client.service_url("BalancePlatform", "legalEntities", "1")).
|
159
|
+
to eq("https://balanceplatform-api-test.adyen.com/bcl/v1/legalEntities")
|
160
|
+
end
|
161
|
+
|
162
|
+
it "checks the creation of transfers url" do
|
163
|
+
client = Adyen::Client.new(api_key: "api_key", env: :test)
|
164
|
+
expect(client.service_url("Transfers", "transactions", "1")).
|
165
|
+
to eq("https://balanceplatform-api-test.adyen.com/btl/v1/transactions")
|
166
|
+
end
|
167
|
+
|
168
|
+
it "checks the creation of management url" do
|
169
|
+
client = Adyen::Client.new(api_key: "api_key", env: :test)
|
170
|
+
expect(client.service_url("Management", "companies", "1")).
|
171
|
+
to eq("https://management-test.adyen.com/v1/companies")
|
172
|
+
end
|
173
|
+
|
174
|
+
it "checks the creation of binLookup url" do
|
175
|
+
client = Adyen::Client.new(api_key: "api_key", env: :test)
|
176
|
+
expect(client.service_url("BinLookup", "getCostEstimate", "54")).
|
177
|
+
to eq("https://pal-test.adyen.com/pal/servlet/BinLookup/v54/getCostEstimate")
|
178
|
+
end
|
179
|
+
|
180
|
+
it "check the creation of storedValue url" do
|
181
|
+
client = Adyen::Client.new(api_key: "api_key", env: :test)
|
182
|
+
expect(client.service_url("StoredValue", "issue", "46")).
|
183
|
+
to eq("https://pal-test.adyen.com/pal/servlet/StoredValue/v46/issue")
|
184
|
+
end
|
185
|
+
|
186
|
+
it 'checks the creation of checkout url' do
|
187
|
+
client = Adyen::Client.new(api_key: 'api_key', env: :live, live_url_prefix: 'YourLiveUrlPrefix')
|
188
|
+
expect(client.service_url('Checkout', 'paymentMethods', '70'))
|
189
|
+
.to eq('https://YourLiveUrlPrefix-checkout-live.adyenpayments.com/checkout/v70/paymentMethods')
|
190
|
+
end
|
191
|
+
it 'checks the creation of lem url' do
|
192
|
+
client = Adyen::Client.new(api_key: 'api_key', env: :live)
|
193
|
+
expect(client.service_url('LegalEntityManagement', 'businessLines', '3'))
|
194
|
+
.to eq('https://kyc-live.adyen.com/lem/v3/businessLines')
|
195
|
+
end
|
196
|
+
|
197
|
+
it 'checks the creation of balancePlatform url' do
|
198
|
+
client = Adyen::Client.new(api_key: 'api_key', env: :live)
|
199
|
+
expect(client.service_url('BalancePlatform', 'legalEntities', '1'))
|
200
|
+
.to eq('https://balanceplatform-api-live.adyen.com/bcl/v1/legalEntities')
|
201
|
+
end
|
202
|
+
|
203
|
+
it 'checks the creation of balancePlatform url' do
|
204
|
+
client = Adyen::Client.new(api_key: 'api_key', env: :test)
|
205
|
+
expect(client.service_url('BalancePlatform', 'legalEntities', '1'))
|
206
|
+
.to eq('https://balanceplatform-api-test.adyen.com/bcl/v1/legalEntities')
|
207
|
+
end
|
208
|
+
|
209
|
+
it 'checks the creation of transfers url' do
|
210
|
+
client = Adyen::Client.new(api_key: 'api_key', env: :test)
|
211
|
+
expect(client.service_url('Transfers', 'transactions', '1'))
|
212
|
+
.to eq('https://balanceplatform-api-test.adyen.com/btl/v1/transactions')
|
213
|
+
end
|
214
|
+
|
215
|
+
it 'checks the creation of management url' do
|
216
|
+
client = Adyen::Client.new(api_key: 'api_key', env: :test)
|
217
|
+
expect(client.service_url('Management', 'companies', '1'))
|
218
|
+
.to eq('https://management-test.adyen.com/v1/companies')
|
219
|
+
end
|
220
|
+
|
221
|
+
it 'checks the creation of binLookup url' do
|
222
|
+
client = Adyen::Client.new(api_key: 'api_key', env: :test)
|
223
|
+
expect(client.service_url('BinLookup', 'getCostEstimate', '54'))
|
224
|
+
.to eq('https://pal-test.adyen.com/pal/servlet/BinLookup/v54/getCostEstimate')
|
225
|
+
end
|
226
|
+
|
227
|
+
it 'check the creation of storedValue url' do
|
228
|
+
client = Adyen::Client.new(api_key: 'api_key', env: :test)
|
229
|
+
expect(client.service_url('StoredValue', 'issue', '46'))
|
230
|
+
.to eq('https://pal-test.adyen.com/pal/servlet/StoredValue/v46/issue')
|
231
|
+
end
|
232
|
+
|
233
|
+
it 'check the creation of payout url' do
|
234
|
+
client = Adyen::Client.new(api_key: 'api_key', env: :test)
|
235
|
+
expect(client.service_url('Payout', 'declineThirdParty', '68'))
|
236
|
+
.to eq('https://pal-test.adyen.com/pal/servlet/Payout/v68/declineThirdParty')
|
237
|
+
end
|
238
|
+
|
239
|
+
it 'checks the creation of PosTerminalManagement url' do
|
240
|
+
client = Adyen::Client.new(api_key: 'api_key', env: :test)
|
241
|
+
expect(client.service_url('PosTerminalManagement', 'assignTerminals', '1'))
|
242
|
+
.to eq('https://postfmapi-test.adyen.com/postfmapi/terminal/v1/assignTerminals')
|
243
|
+
end
|
244
|
+
|
245
|
+
it 'checks the creation of TerminalCloudAPI sync url' do
|
246
|
+
client = Adyen::Client.new(api_key: 'api_key', env: :test)
|
247
|
+
expect(client.service_url('TerminalCloudAPI', 'sync', nil))
|
248
|
+
.to eq('https://terminal-api-test.adyen.com/sync')
|
249
|
+
end
|
250
|
+
|
251
|
+
it 'checks the creation of TerminalCloudAPI async url' do
|
252
|
+
client = Adyen::Client.new(api_key: 'api_key', env: :test)
|
253
|
+
expect(client.service_url('TerminalCloudAPI', 'async', nil))
|
254
|
+
.to eq('https://terminal-api-test.adyen.com/async')
|
255
|
+
end
|
256
|
+
|
257
|
+
it 'checks the creation of TerminalCloudAPI connectedTerminals url' do
|
258
|
+
client = Adyen::Client.new(api_key: 'api_key', env: :test)
|
259
|
+
expect(client.service_url('TerminalCloudAPI', 'connectedTerminals', nil))
|
260
|
+
.to eq('https://terminal-api-test.adyen.com/connectedTerminals')
|
261
|
+
|
262
|
+
end
|
263
|
+
|
264
|
+
it 'checks the initialization of the terminal region' do
|
265
|
+
client = Adyen::Client.new(api_key: 'api_key', env: :test, terminal_region: 'eu')
|
266
|
+
expect(client.service_url('TerminalCloudAPI', 'connectedTerminals', nil))
|
267
|
+
.to eq('https://terminal-api-test-eu.adyen.com/connectedTerminals')
|
268
|
+
end
|
269
|
+
|
270
|
+
it 'checks the initialization of the terminal region set to nil per default' do
|
271
|
+
client = Adyen::Client.new(api_key: 'api_key', env: :test)
|
272
|
+
expect(client.service_url('TerminalCloudAPI', 'connectedTerminals', nil))
|
273
|
+
.to eq('https://terminal-api-test.adyen.com/connectedTerminals')
|
274
|
+
end
|
275
|
+
|
276
|
+
it 'checks the creation of PosMobile sessions url' do
|
277
|
+
client = Adyen::Client.new(api_key: 'api_key', env: :test)
|
278
|
+
expect(client.service_url('PosMobile', 'sessions', nil))
|
279
|
+
.to eq('https://checkout-test.adyen.com/checkout/possdk/sessions')
|
85
280
|
end
|
86
281
|
end
|
@@ -1,14 +1,14 @@
|
|
1
|
-
require
|
1
|
+
require 'spec_helper'
|
2
2
|
|
3
|
-
RSpec.describe Adyen::DataProtection, service:
|
3
|
+
RSpec.describe Adyen::DataProtection, service: 'Data Protection Service' do
|
4
4
|
# client instance to be used in dynamically generated tests
|
5
5
|
client = create_client(:basic)
|
6
6
|
|
7
7
|
# methods / values to test for
|
8
8
|
# format is defined in spec_helper
|
9
9
|
test_sets = [
|
10
|
-
[
|
10
|
+
%w[request_subject_erasure result SUCCESS]
|
11
11
|
]
|
12
12
|
|
13
|
-
generate_tests(client,
|
13
|
+
generate_tests(client, 'DataProtectionService', test_sets, client.data_protection)
|
14
14
|
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe Adyen::Disputes, service: 'disputes service' do
|
4
|
+
before(:all) do
|
5
|
+
@shared_values = {
|
6
|
+
client: create_client(:api_key),
|
7
|
+
service: 'Disputes'
|
8
|
+
}
|
9
|
+
end
|
10
|
+
|
11
|
+
# methods / values to test for
|
12
|
+
# format is defined in spec_helper
|
13
|
+
it 'makes a retrieve_applicable_defense_reasons call' do
|
14
|
+
request_body = JSON.parse(json_from_file('mocks/requests/DisputesService/retrieve_applicable_defense_reasons.json'))
|
15
|
+
|
16
|
+
response_body = json_from_file('mocks/responses/DisputesService/retrieve_applicable_defense_reasons.json')
|
17
|
+
|
18
|
+
url = @shared_values[:client].service_url(@shared_values[:service], 'retrieveApplicableDefenseReasons',
|
19
|
+
@shared_values[:client].disputes.version)
|
20
|
+
WebMock.stub_request(:post, url)
|
21
|
+
.with(
|
22
|
+
body: request_body,
|
23
|
+
headers: {
|
24
|
+
'x-api-key' => @shared_values[:client].api_key
|
25
|
+
}
|
26
|
+
)
|
27
|
+
.to_return(
|
28
|
+
body: response_body
|
29
|
+
)
|
30
|
+
|
31
|
+
result = @shared_values[:client].disputes.retrieve_applicable_defense_reasons(request_body)
|
32
|
+
response_hash = result.response
|
33
|
+
|
34
|
+
expect(result.status)
|
35
|
+
.to eq(200)
|
36
|
+
expect(response_hash)
|
37
|
+
.to eq(JSON.parse(response_body))
|
38
|
+
expect(response_hash)
|
39
|
+
.to be_a Adyen::HashWithAccessors
|
40
|
+
expect(response_hash)
|
41
|
+
.to be_a_kind_of Hash
|
42
|
+
expect(response_hash['disputeServiceResult']['success'])
|
43
|
+
.to eq(true)
|
44
|
+
end
|
45
|
+
end
|
data/spec/errors_spec.rb
CHANGED
@@ -7,41 +7,70 @@ RSpec.describe Adyen::AdyenError do
|
|
7
7
|
@shared_values = {
|
8
8
|
request: {
|
9
9
|
amount: {
|
10
|
-
currency:
|
10
|
+
currency: 'USD',
|
11
11
|
value: 1000
|
12
12
|
},
|
13
|
-
reference:
|
13
|
+
reference: 'Your order number',
|
14
14
|
paymentMethod: {
|
15
|
-
type:
|
16
|
-
number:
|
17
|
-
expiryMonth:
|
18
|
-
expiryYear:
|
19
|
-
holderName:
|
20
|
-
cvc:
|
15
|
+
type: 'scheme',
|
16
|
+
number: '4111111111111111',
|
17
|
+
expiryMonth: '10',
|
18
|
+
expiryYear: '2020',
|
19
|
+
holderName: 'John Smith',
|
20
|
+
cvc: '737'
|
21
21
|
},
|
22
|
-
returnUrl:
|
23
|
-
merchantAccount:
|
22
|
+
returnUrl: 'https://your-company.com/',
|
23
|
+
merchantAccount: 'YOUR_MERCHANT_ACCOUNT'
|
24
24
|
}
|
25
25
|
}
|
26
26
|
end
|
27
27
|
|
28
28
|
describe '#to_s' do
|
29
29
|
it 'describes using the error properties' do
|
30
|
-
expect(Adyen::AdyenError.new(
|
30
|
+
expect(Adyen::AdyenError.new(
|
31
|
+
@shared_values[:request],
|
32
|
+
'response',
|
33
|
+
'message',
|
34
|
+
'code'
|
35
|
+
).to_s).to eq("Adyen::AdyenError code:code, msg:message, request:#{@shared_values[:request]}, response:response")
|
31
36
|
end
|
32
37
|
it 'skips the null properties' do
|
33
|
-
expect(Adyen::AdyenError.new(
|
38
|
+
expect(Adyen::AdyenError.new(
|
39
|
+
@shared_values[:request],
|
40
|
+
nil,
|
41
|
+
nil,
|
42
|
+
'code'
|
43
|
+
).to_s).to eq("Adyen::AdyenError code:code, request:#{@shared_values[:request]}")
|
34
44
|
end
|
35
45
|
it 'uses the proper error class name' do
|
36
|
-
expect(Adyen::PermissionError.new(
|
46
|
+
expect(Adyen::PermissionError.new(
|
47
|
+
'message',
|
48
|
+
@shared_values[:request],
|
49
|
+
'response'
|
50
|
+
).to_s).to eq(
|
51
|
+
"Adyen::PermissionError code:403, msg:message, request:#{@shared_values[:request]}, response:response"
|
52
|
+
)
|
37
53
|
end
|
38
54
|
end
|
39
55
|
describe '#masking' do
|
40
56
|
it 'masks card number when logging request in errors' do
|
41
|
-
expect(Adyen::AdyenError.new(@shared_values[:request], 'response', 'message',
|
57
|
+
expect(Adyen::AdyenError.new(@shared_values[:request], 'response', 'message',
|
58
|
+
'code').request[:paymentMethod][:number]).to eq('411111******1111')
|
42
59
|
end
|
43
60
|
it 'masks CVC when logging request in errors' do
|
44
|
-
expect(Adyen::AdyenError.new(@shared_values[:request], 'response', 'message',
|
61
|
+
expect(Adyen::AdyenError.new(@shared_values[:request], 'response', 'message',
|
62
|
+
'code').request[:paymentMethod][:cvc]).to eq('***')
|
63
|
+
end
|
64
|
+
|
65
|
+
context 'when request is string' do
|
66
|
+
it 'masks card number when logging request in errors' do
|
67
|
+
expect(Adyen::AdyenError.new(JSON.generate(@shared_values[:request]), 'response', 'message',
|
68
|
+
'code').request[:paymentMethod][:number]).to eq('411111******1111')
|
69
|
+
end
|
70
|
+
it 'masks CVC when logging request in errors' do
|
71
|
+
expect(Adyen::AdyenError.new(JSON.generate(@shared_values[:request]), 'response', 'message',
|
72
|
+
'code').request[:paymentMethod][:cvc]).to eq('***')
|
73
|
+
end
|
45
74
|
end
|
46
75
|
end
|
47
76
|
end
|
data/spec/fund_spec.rb
CHANGED
@@ -1,20 +1,20 @@
|
|
1
|
-
require
|
1
|
+
require 'spec_helper'
|
2
2
|
|
3
|
-
RSpec.describe Adyen::
|
3
|
+
RSpec.describe Adyen::Payment, service: 'marketpay fund service' do
|
4
4
|
# client instance to be used in dynamically generated tests
|
5
5
|
client = create_client(:basic)
|
6
6
|
|
7
7
|
# methods / values to test for
|
8
8
|
# format is defined in spec_helper
|
9
9
|
test_sets = [
|
10
|
-
[
|
11
|
-
[
|
12
|
-
[
|
13
|
-
[
|
14
|
-
[
|
15
|
-
[
|
16
|
-
[
|
10
|
+
%w[payout_account_holder pspReference 9915090894325643],
|
11
|
+
%w[account_holder_balance pspReference 9914719436100053],
|
12
|
+
%w[account_holder_transaction_list pspReference 9914721175530029],
|
13
|
+
%w[refund_not_paid_out_transfers pspReference 9915090894215323],
|
14
|
+
%w[setup_beneficiary pspReference 9914860354282596],
|
15
|
+
%w[transfer_funds pspReference 9915090893984580],
|
16
|
+
%w[refund_funds_transfer pspReference 9915090893984580]
|
17
17
|
]
|
18
18
|
|
19
|
-
generate_tests(client,
|
19
|
+
generate_tests(client, 'Fund', test_sets, client.marketpay.fund)
|
20
20
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# rubocop:disable Lint/ConstantDefinitionInBlock
|
2
|
+
|
1
3
|
require 'spec_helper'
|
2
4
|
|
3
5
|
RSpec.describe Adyen::HashWithAccessors do
|
@@ -19,15 +21,24 @@ RSpec.describe Adyen::HashWithAccessors do
|
|
19
21
|
end
|
20
22
|
|
21
23
|
it 'complains if there are arguments for the accessor' do
|
22
|
-
expect
|
23
|
-
|
24
|
+
expect do
|
25
|
+
subject.arbitrary_accessor(1)
|
26
|
+
end.to raise_error(ArgumentError, 'wrong number of arguments (given 1, expected 0)')
|
27
|
+
expect do
|
28
|
+
subject.arbitrary_accessor(1, 2)
|
29
|
+
end.to raise_error(ArgumentError, 'wrong number of arguments (given 2, expected 0)')
|
24
30
|
end
|
25
31
|
|
26
32
|
it 'complains if there are arguments for the accessor =' do
|
27
33
|
# using send because i'm not sure how to do this wrong with normal ruby setter calling.
|
28
34
|
# just here for completeness
|
29
|
-
expect
|
30
|
-
|
35
|
+
expect do
|
36
|
+
subject.send(:arbitrary_accessor=)
|
37
|
+
end.to raise_error(ArgumentError, 'wrong number of arguments (given 0, expected 1)')
|
38
|
+
expect do
|
39
|
+
subject.send(:arbitrary_accessor=, 1,
|
40
|
+
2)
|
41
|
+
end.to raise_error(ArgumentError, 'wrong number of arguments (given 2, expected 1)')
|
31
42
|
end
|
32
43
|
|
33
44
|
it 'responds to the accessor' do
|
@@ -84,8 +95,7 @@ RSpec.describe Adyen::HashWithAccessors do
|
|
84
95
|
|
85
96
|
before(:all) do
|
86
97
|
class Hash
|
87
|
-
def called_super(*args)
|
88
|
-
end
|
98
|
+
def called_super(*args); end
|
89
99
|
|
90
100
|
def method_missing(*args)
|
91
101
|
called_super(:method_missing, *args)
|
@@ -118,10 +128,10 @@ RSpec.describe Adyen::HashWithAccessors do
|
|
118
128
|
expect(subject).to receive(:called_super).with(:method_missing, :something_else)
|
119
129
|
expect { subject.something_else }.to raise_error(NoMethodError)
|
120
130
|
end
|
121
|
-
|
122
131
|
end
|
123
132
|
|
124
133
|
it "doesn't modify all hashes" do
|
125
|
-
expect { {a: 1}.a }.to raise_error(NoMethodError)
|
134
|
+
expect { { a: 1 }.a }.to raise_error(NoMethodError)
|
126
135
|
end
|
127
136
|
end
|
137
|
+
# rubocop:enable Lint/ConstantDefinitionInBlock
|
data/spec/hop_spec.rb
CHANGED
@@ -1,14 +1,14 @@
|
|
1
|
-
require
|
1
|
+
require 'spec_helper'
|
2
2
|
|
3
|
-
RSpec.describe Adyen::
|
3
|
+
RSpec.describe Adyen::Payment, service: 'marketpay hop service' do
|
4
4
|
# client instance to be used in dynamically generated tests
|
5
5
|
client = create_client(:basic)
|
6
6
|
|
7
7
|
# methods / values to test for
|
8
8
|
# format is defined in spec_helper
|
9
9
|
test_sets = [
|
10
|
-
[
|
10
|
+
%w[get_onboarding_url pspReference 8815850625171183]
|
11
11
|
]
|
12
12
|
|
13
|
-
generate_tests(client,
|
13
|
+
generate_tests(client, 'Hop', test_sets, client.marketpay.hop)
|
14
14
|
end
|
data/spec/lem_spec.rb
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'json'
|
3
|
+
|
4
|
+
RSpec.describe Adyen::LegalEntityManagement, service: 'LegalEntityManagement' do
|
5
|
+
before(:all) do
|
6
|
+
@shared_values = {
|
7
|
+
client: create_client(:api_key),
|
8
|
+
service: 'LegalEntityManagement'
|
9
|
+
}
|
10
|
+
end
|
11
|
+
|
12
|
+
# must be created manually because every field in the response is an array
|
13
|
+
it 'makes a business_lines POST call' do
|
14
|
+
request_body = JSON.parse(json_from_file('mocks/requests/LegalEntityManagement/create_business_line.json'))
|
15
|
+
|
16
|
+
response_body = json_from_file('mocks/responses/LegalEntityManagement/create_business_line.json')
|
17
|
+
|
18
|
+
url = @shared_values[:client].service_url(@shared_values[:service], 'businessLines',
|
19
|
+
@shared_values[:client].legal_entity_management.version)
|
20
|
+
WebMock.stub_request(:post, url)
|
21
|
+
.with(
|
22
|
+
body: request_body,
|
23
|
+
headers: {
|
24
|
+
'x-api-key' => @shared_values[:client].api_key
|
25
|
+
}
|
26
|
+
)
|
27
|
+
.to_return(
|
28
|
+
body: response_body
|
29
|
+
)
|
30
|
+
|
31
|
+
result = @shared_values[:client].legal_entity_management.business_lines_api.create_business_line(request_body)
|
32
|
+
response_hash = result.response
|
33
|
+
|
34
|
+
expect(result.status)
|
35
|
+
.to eq(200)
|
36
|
+
expect(response_hash)
|
37
|
+
.to eq(JSON.parse(response_body))
|
38
|
+
expect(response_hash)
|
39
|
+
.to be_a Adyen::HashWithAccessors
|
40
|
+
expect(response_hash)
|
41
|
+
.to be_a_kind_of Hash
|
42
|
+
end
|
43
|
+
|
44
|
+
it 'makes a documents DELETE call' do
|
45
|
+
url = @shared_values[:client].service_url(@shared_values[:service], 'documents/123',
|
46
|
+
@shared_values[:client].legal_entity_management.version)
|
47
|
+
WebMock.stub_request(:delete, url)
|
48
|
+
.with(
|
49
|
+
headers: {
|
50
|
+
'x-api-key' => @shared_values[:client].api_key
|
51
|
+
}
|
52
|
+
)
|
53
|
+
.to_return(
|
54
|
+
body: '{}'
|
55
|
+
)
|
56
|
+
|
57
|
+
result = @shared_values[:client].legal_entity_management.documents_api.delete_document('123')
|
58
|
+
result.response
|
59
|
+
|
60
|
+
expect(result.status)
|
61
|
+
.to eq(200)
|
62
|
+
end
|
63
|
+
end
|