mangopay-v4 4.0.0 → 4.0.1
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 +5 -5
- data/.gitignore +29 -29
- data/.rspec +3 -3
- data/.rubocop.yml +1 -1
- data/.travis.yml +21 -13
- data/Gemfile +2 -2
- data/LICENSE +20 -20
- data/README.md +379 -379
- data/bin/mangopay +9 -9
- data/lib/mangopay.rb +132 -132
- data/lib/mangopay/api/api.rb +8 -8
- data/lib/mangopay/api/api_methods.rb +160 -136
- data/lib/mangopay/api/auth_token_manager.rb +173 -173
- data/lib/mangopay/api/http_client.rb +324 -324
- data/lib/mangopay/api/service/bank_accounts.rb +145 -145
- data/lib/mangopay/api/service/banking_aliases.rb +83 -0
- data/lib/mangopay/api/service/cards.rb +151 -151
- data/lib/mangopay/api/service/client_wallets.rb +88 -88
- data/lib/mangopay/api/service/clients.rb +67 -67
- data/lib/mangopay/api/service/dispute_documents.rb +157 -157
- data/lib/mangopay/api/service/disputes.rb +186 -186
- data/lib/mangopay/api/service/e_money.rb +63 -41
- data/lib/mangopay/api/service/events.rb +46 -46
- data/lib/mangopay/api/service/hooks.rb +92 -92
- data/lib/mangopay/api/service/kyc_documents.rb +152 -152
- data/lib/mangopay/api/service/mandates.rb +141 -141
- data/lib/mangopay/api/service/oauth_tokens.rb +24 -24
- data/lib/mangopay/api/service/pay_ins.rb +369 -259
- data/lib/mangopay/api/service/pay_outs.rb +53 -53
- data/lib/mangopay/api/service/pre_authorizations.rb +126 -68
- data/lib/mangopay/api/service/refunds.rb +159 -61
- data/lib/mangopay/api/service/reports.rb +150 -150
- data/lib/mangopay/api/service/repudiations.rb +31 -31
- data/lib/mangopay/api/service/responses.rb +101 -101
- data/lib/mangopay/api/service/settlement_transfers.rb +54 -54
- data/lib/mangopay/api/service/transactions.rb +246 -182
- data/lib/mangopay/api/service/transfers.rb +53 -53
- data/lib/mangopay/api/service/ubo_declarations.rb +94 -69
- data/lib/mangopay/api/service/users.rb +162 -162
- data/lib/mangopay/api/service/wallets.rb +98 -98
- data/lib/mangopay/api/uri_provider.rb +32 -34
- data/lib/mangopay/common/json_tag_converter.rb +70 -67
- data/lib/mangopay/common/jsonifier.rb +266 -248
- data/lib/mangopay/common/log_provider.rb +33 -33
- data/lib/mangopay/common/rate_limit_interval.rb +16 -16
- data/lib/mangopay/common/read_only_fields.rb +26 -26
- data/lib/mangopay/common/response_error.rb +61 -61
- data/lib/mangopay/common/sort_direction.rb +14 -14
- data/lib/mangopay/common/sort_field.rb +12 -12
- data/lib/mangopay/common/template_url_options.rb +8 -8
- data/lib/mangopay/configuration.rb +38 -38
- data/lib/mangopay/environment.rb +65 -65
- data/lib/mangopay/model/address.rb +26 -26
- data/lib/mangopay/model/billing.rb +13 -0
- data/lib/mangopay/model/birthplace.rb +15 -0
- data/lib/mangopay/model/declared_ubo.rb +20 -20
- data/lib/mangopay/model/dispute_reason.rb +14 -14
- data/lib/mangopay/model/document_page_consult.rb +14 -14
- data/lib/mangopay/model/e_money.rb +17 -17
- data/lib/mangopay/model/entity/account/bank_account.rb +25 -25
- data/lib/mangopay/model/entity/account/ca_bank_account.rb +26 -26
- data/lib/mangopay/model/entity/account/debited_bank_account.rb +31 -0
- data/lib/mangopay/model/entity/account/gb_bank_account.rb +20 -20
- data/lib/mangopay/model/entity/account/iban_bank_account.rb +20 -20
- data/lib/mangopay/model/entity/account/other_bank_account.rb +23 -23
- data/lib/mangopay/model/entity/account/us_bank_account.rb +23 -23
- data/lib/mangopay/model/entity/banking_alias.rb +27 -0
- data/lib/mangopay/model/entity/card.rb +44 -44
- data/lib/mangopay/model/entity/card_registration.rb +42 -42
- data/lib/mangopay/model/entity/client.rb +65 -62
- data/lib/mangopay/model/entity/client_wallet.rb +22 -22
- data/lib/mangopay/model/entity/dispute.rb +49 -49
- data/lib/mangopay/model/entity/dispute_document.rb +28 -28
- data/lib/mangopay/model/entity/entity_base.rb +17 -17
- data/lib/mangopay/model/entity/hook.rb +25 -25
- data/lib/mangopay/model/entity/kyc_document.rb +27 -27
- data/lib/mangopay/model/entity/mandate.rb +50 -50
- data/lib/mangopay/model/entity/pay_in/apple_pay_direct_pay_in.rb +26 -0
- data/lib/mangopay/model/entity/pay_in/bank_wire_direct_pay_in.rb +24 -21
- data/lib/mangopay/model/entity/pay_in/bank_wire_external_instruction_pay_in.rb +19 -0
- data/lib/mangopay/model/entity/pay_in/card_direct_pay_in.rb +41 -32
- data/lib/mangopay/model/entity/pay_in/card_pre_authorized_pay_in.rb +15 -12
- data/lib/mangopay/model/entity/pay_in/card_web_pay_in.rb +36 -39
- data/lib/mangopay/model/entity/pay_in/direct_debit_direct_pay_in.rb +25 -22
- data/lib/mangopay/model/entity/pay_in/direct_debit_web_pay_in.rb +37 -37
- data/lib/mangopay/model/entity/pay_in/google_pay_direct_pay_in.rb +28 -0
- data/lib/mangopay/model/entity/pay_in/pay_in.rb +18 -15
- data/lib/mangopay/model/entity/pay_in/paypal_web_pay_in.rb +15 -0
- data/lib/mangopay/model/entity/pay_out.rb +21 -21
- data/lib/mangopay/model/entity/pre_authorization.rb +74 -67
- data/lib/mangopay/model/entity/refund.rb +17 -17
- data/lib/mangopay/model/entity/report.rb +50 -50
- data/lib/mangopay/model/entity/repudiation.rb +17 -17
- data/lib/mangopay/model/entity/settlement_transfer.rb +16 -16
- data/lib/mangopay/model/entity/transaction.rb +51 -51
- data/lib/mangopay/model/entity/transfer.rb +12 -12
- data/lib/mangopay/model/entity/ubo.rb +30 -0
- data/lib/mangopay/model/entity/ubo_declaration.rb +29 -31
- data/lib/mangopay/model/entity/user/legal_user.rb +55 -52
- data/lib/mangopay/model/entity/user/natural_user.rb +49 -49
- data/lib/mangopay/model/entity/user/user.rb +17 -17
- data/lib/mangopay/model/entity/wallet.rb +27 -27
- data/lib/mangopay/model/enum/account_type.rb +23 -23
- data/lib/mangopay/model/enum/avs_result.rb +19 -0
- data/lib/mangopay/model/enum/banking_alias_type.rb +12 -0
- data/lib/mangopay/model/enum/business_type.rb +17 -0
- data/lib/mangopay/model/enum/card_status.rb +14 -14
- data/lib/mangopay/model/enum/card_type.rb +32 -32
- data/lib/mangopay/model/enum/card_validity.rb +18 -18
- data/lib/mangopay/model/enum/country_iso.rb +758 -758
- data/lib/mangopay/model/enum/culture_code.rb +43 -43
- data/lib/mangopay/model/enum/currency_iso.rb +551 -551
- data/lib/mangopay/model/enum/declared_ubo_refused_reason_type.rb +15 -15
- data/lib/mangopay/model/enum/declared_ubo_status.rb +17 -17
- data/lib/mangopay/model/enum/deposit_type.rb +14 -14
- data/lib/mangopay/model/enum/direct_debit_type.rb +12 -12
- data/lib/mangopay/model/enum/dispute_doc_refused_reason_type.rb +24 -24
- data/lib/mangopay/model/enum/dispute_document_type.rb +22 -22
- data/lib/mangopay/model/enum/dispute_reason_type.rb +32 -32
- data/lib/mangopay/model/enum/dispute_status.rb +20 -20
- data/lib/mangopay/model/enum/dispute_type.rb +14 -14
- data/lib/mangopay/model/enum/document_status.rb +20 -20
- data/lib/mangopay/model/enum/download_format.rb +10 -10
- data/lib/mangopay/model/enum/event_type.rb +76 -73
- data/lib/mangopay/model/enum/funds_type.rb +14 -14
- data/lib/mangopay/model/enum/hook_status.rb +12 -12
- data/lib/mangopay/model/enum/hook_validity.rb +14 -14
- data/lib/mangopay/model/enum/income_range.rb +20 -20
- data/lib/mangopay/model/enum/kyc_doc_refused_reason_type.rb +36 -36
- data/lib/mangopay/model/enum/kyc_document_type.rb +18 -18
- data/lib/mangopay/model/enum/kyc_level.rb +12 -12
- data/lib/mangopay/model/enum/legal_person_type.rb +14 -14
- data/lib/mangopay/model/enum/mandate_culture_code.rb +22 -22
- data/lib/mangopay/model/enum/mandate_execution_type.rb +10 -10
- data/lib/mangopay/model/enum/mandate_scheme.rb +12 -12
- data/lib/mangopay/model/enum/mandate_status.rb +23 -23
- data/lib/mangopay/model/enum/mandate_type.rb +10 -10
- data/lib/mangopay/model/enum/natural_user_capacity.rb +14 -14
- data/lib/mangopay/model/enum/pay_in_execution_type.rb +17 -17
- data/lib/mangopay/model/enum/pay_in_payment_type.rb +29 -20
- data/lib/mangopay/model/enum/pay_out_payment_type.rb +10 -10
- data/lib/mangopay/model/enum/payment_status.rb +20 -20
- data/lib/mangopay/model/enum/person_type.rb +14 -14
- data/lib/mangopay/model/enum/platform_type.rb +22 -22
- data/lib/mangopay/model/enum/pre_authorization_execution_type.rb +10 -10
- data/lib/mangopay/model/enum/pre_authorization_status.rb +17 -17
- data/lib/mangopay/model/enum/refund_reason_type.rb +20 -20
- data/lib/mangopay/model/enum/report_status.rb +16 -16
- data/lib/mangopay/model/enum/report_type.rb +12 -12
- data/lib/mangopay/model/enum/sector.rb +29 -0
- data/lib/mangopay/model/enum/secure_mode.rb +15 -15
- data/lib/mangopay/model/enum/transaction_nature.rb +16 -16
- data/lib/mangopay/model/enum/transaction_status.rb +14 -14
- data/lib/mangopay/model/enum/transaction_type.rb +14 -14
- data/lib/mangopay/model/enum/ubo_declaration_refused_reason_type.rb +18 -18
- data/lib/mangopay/model/enum/ubo_declaration_status.rb +20 -20
- data/lib/mangopay/model/event.rb +17 -17
- data/lib/mangopay/model/model.rb +214 -193
- data/lib/mangopay/model/money.rb +16 -16
- data/lib/mangopay/model/pay_in_web_extended_view.rb +30 -30
- data/lib/mangopay/model/platform_categorization.rb +15 -0
- data/lib/mangopay/model/refund_reason.rb +14 -14
- data/lib/mangopay/model/report_filter.rb +82 -82
- data/lib/mangopay/model/request/cancel_request.rb +15 -15
- data/lib/mangopay/model/request/complete_registration_request.rb +12 -12
- data/lib/mangopay/model/request/currency_request.rb +12 -12
- data/lib/mangopay/model/request/deactivation_request.rb +9 -9
- data/lib/mangopay/model/request/filter_request.rb +37 -37
- data/lib/mangopay/model/request/submit_document_request.rb +13 -13
- data/lib/mangopay/model/request/submit_ubo_declaration_request.rb +16 -13
- data/lib/mangopay/model/request/upload_file_request.rb +8 -8
- data/lib/mangopay/model/response_replica.rb +26 -26
- data/lib/mangopay/model/security_info.rb +13 -0
- data/lib/mangopay/util/custom_formatter.rb +11 -11
- data/lib/mangopay/util/custom_logger.rb +33 -33
- data/lib/mangopay/util/enum.rb +51 -51
- data/lib/mangopay/util/file_encoder.rb +15 -15
- data/lib/mangopay/util/non_instantiable.rb +5 -5
- data/lib/mangopay/util/storage_strategy.rb +9 -9
- data/lib/mangopay/util/void_logger.rb +5 -5
- data/mangopay-v4.gemspec +32 -0
- data/mangopay.gemspec +32 -32
- data/spec/context/address_context.rb +24 -24
- data/spec/context/bank_account_context.rb +137 -137
- data/spec/context/banking_alias_context.rb +17 -0
- data/spec/context/birthplace_context.rb +17 -0
- data/spec/context/card_context.rb +45 -45
- data/spec/context/client_context.rb +43 -44
- data/spec/context/dispute_context.rb +36 -36
- data/spec/context/dispute_document_context.rb +19 -19
- data/spec/context/hook_context.rb +15 -15
- data/spec/context/kyc_document_context.rb +22 -22
- data/spec/context/mandate_context.rb +26 -26
- data/spec/context/pay_in_context.rb +319 -224
- data/spec/context/pay_out_context.rb +39 -38
- data/spec/context/pre_authorization_context.rb +44 -40
- data/spec/context/refund_context.rb +32 -32
- data/spec/context/report_context.rb +21 -21
- data/spec/context/repudiation_context.rb +18 -18
- data/spec/context/settlement_transfer_context.rb +27 -27
- data/spec/context/transfer_context.rb +50 -50
- data/spec/context/ubo_declaration_context.rb +29 -24
- data/spec/context/user_context.rb +83 -82
- data/spec/context/wallet_context.rb +52 -52
- data/spec/mangopay/bank_accounts_spec.rb +228 -228
- data/spec/mangopay/banking_alias_spec.rb +85 -0
- data/spec/mangopay/cards_spec.rb +133 -134
- data/spec/mangopay/client_wallets_spec.rb +147 -147
- data/spec/mangopay/clients_spec.rb +56 -54
- data/spec/mangopay/configuration_spec.rb +125 -125
- data/spec/mangopay/dispute_documents_spec.rb +173 -173
- data/spec/mangopay/disputes_spec.rb +264 -264
- data/spec/mangopay/e_money_spec.rb +57 -37
- data/spec/mangopay/events_spec.rb +49 -49
- data/spec/mangopay/hooks_spec.rb +70 -70
- data/spec/mangopay/kyc_documents_spec.rb +179 -179
- data/spec/mangopay/mandates_spec.rb +218 -218
- data/spec/mangopay/oauth_tokens_spec.rb +40 -40
- data/spec/mangopay/pay_ins_spec.rb +279 -180
- data/spec/mangopay/pay_outs_spec.rb +38 -38
- data/spec/mangopay/pre_authorizations_spec.rb +134 -57
- data/spec/mangopay/refunds_spec.rb +187 -39
- data/spec/mangopay/reports_spec.rb +118 -120
- data/spec/mangopay/responses_spec.rb +324 -294
- data/spec/mangopay/settlement_transfers_spec.rb +36 -36
- data/spec/mangopay/transactions_spec.rb +347 -232
- data/spec/mangopay/transfers_spec.rb +37 -37
- data/spec/mangopay/ubo_declarations_spec.rb +127 -64
- data/spec/mangopay/users_spec.rb +145 -145
- data/spec/mangopay/wallets_spec.rb +103 -103
- data/spec/spec_helper.rb +72 -72
- data/spec/tmp/MangoPay.AuthorizationToken.FileStore.tmp +6 -0
- data/spec/tmp/mangopay.log.tmp +1201 -0
- metadata +31 -5
@@ -1,38 +1,58 @@
|
|
1
|
-
require_relative '../context/user_context'
|
2
|
-
require_relative '../../lib/mangopay/api/service/e_money'
|
3
|
-
|
4
|
-
describe MangoApi::EMoney do
|
5
|
-
include_context 'user_context'
|
6
|
-
|
7
|
-
describe '.
|
8
|
-
|
9
|
-
describe "given an existing user entity's ID" do
|
10
|
-
id = NATURAL_USER_PERSISTED.id
|
11
|
-
|
12
|
-
context 'not having specified currency' do
|
13
|
-
default_currency = MangoModel::CurrencyIso::EUR
|
14
|
-
|
15
|
-
it
|
16
|
-
retrieved = MangoApi::EMoney.
|
17
|
-
|
18
|
-
expect(retrieved).to
|
19
|
-
expect(retrieved.
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
#
|
25
|
-
#
|
26
|
-
#
|
27
|
-
#
|
28
|
-
#
|
29
|
-
#
|
30
|
-
#
|
31
|
-
# expect(retrieved).to
|
32
|
-
# expect(retrieved.
|
33
|
-
#
|
34
|
-
#
|
35
|
-
|
36
|
-
|
37
|
-
|
1
|
+
require_relative '../context/user_context'
|
2
|
+
require_relative '../../lib/mangopay/api/service/e_money'
|
3
|
+
|
4
|
+
describe MangoApi::EMoney do
|
5
|
+
include_context 'user_context'
|
6
|
+
|
7
|
+
describe '.of_user_year' do
|
8
|
+
|
9
|
+
describe "given an existing user entity's ID" do
|
10
|
+
id = NATURAL_USER_PERSISTED.id
|
11
|
+
|
12
|
+
context 'not having specified currency' do
|
13
|
+
default_currency = MangoModel::CurrencyIso::EUR
|
14
|
+
year = 2019
|
15
|
+
it "retrieves the corresponding e-money entity for year #{year} in default currency" do
|
16
|
+
retrieved = MangoApi::EMoney.of_user_year id, year
|
17
|
+
expect(retrieved).to be_kind_of MangoModel::EMoney
|
18
|
+
expect(retrieved.credited_e_money.currency).to be default_currency
|
19
|
+
expect(retrieved.debited_e_money.currency).to be default_currency
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
# TODO: Results always come in EUR
|
24
|
+
# context 'having specified currency' do
|
25
|
+
# currency = MangoModel::CurrencyIso::GBP
|
26
|
+
#
|
27
|
+
# it 'retrieves the corresponding e-money entity in specified currency' do
|
28
|
+
# retrieved = MangoApi::EMoney.of_user id, currency
|
29
|
+
#
|
30
|
+
# expect(retrieved).to be_kind_of MangoModel::EMoney
|
31
|
+
# expect(retrieved.credited_e_money.currency).to gebe currency
|
32
|
+
# expect(retrieved.debited_e_money.currency).to be currency
|
33
|
+
# end
|
34
|
+
# end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
describe '.of_user_month' do
|
39
|
+
|
40
|
+
describe "given an existing user entity's ID" do
|
41
|
+
id = NATURAL_USER_PERSISTED.id
|
42
|
+
|
43
|
+
context 'not having specified currency' do
|
44
|
+
default_currency = MangoModel::CurrencyIso::EUR
|
45
|
+
|
46
|
+
year = 2019
|
47
|
+
month = 4
|
48
|
+
|
49
|
+
it "retrieves the corresponding e-money entity for date #{year}/#{month} in default currency" do
|
50
|
+
retrieved = MangoApi::EMoney.of_user_month id, year, month
|
51
|
+
expect(retrieved).to be_kind_of MangoModel::EMoney
|
52
|
+
expect(retrieved.credited_e_money.currency).to be default_currency
|
53
|
+
expect(retrieved.debited_e_money.currency).to be default_currency
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
38
58
|
end
|
@@ -1,50 +1,50 @@
|
|
1
|
-
require_relative '../../lib/mangopay/api/service/events'
|
2
|
-
require_relative '../../lib/mangopay/common/sort_field'
|
3
|
-
require_relative '../../lib/mangopay/common/sort_direction'
|
4
|
-
|
5
|
-
describe MangoApi::Events do
|
6
|
-
|
7
|
-
describe '.all' do
|
8
|
-
|
9
|
-
context 'from a correctly-configured environment' do
|
10
|
-
context 'not having specified filters' do
|
11
|
-
default_per_page = 10
|
12
|
-
|
13
|
-
it 'retrieves list with default parameters' do
|
14
|
-
results = MangoApi::Events.all
|
15
|
-
|
16
|
-
expect(results).to be_kind_of Array
|
17
|
-
expect(results.length).to eq default_per_page
|
18
|
-
results.each do |result|
|
19
|
-
expect(result).to be_kind_of MangoModel::Event
|
20
|
-
expect(result.resource_id).not_to be_nil
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
context 'having specified filters' do
|
26
|
-
per_page = 13
|
27
|
-
|
28
|
-
it 'retrieves list with specified parameters' do
|
29
|
-
results = MangoApi::Events.all do |filter|
|
30
|
-
filter.page = 1
|
31
|
-
filter.per_page = per_page
|
32
|
-
filter.sort_field = MangoPay::SortField::DATE
|
33
|
-
filter.sort_direction = MangoPay::SortDirection::DESC
|
34
|
-
end
|
35
|
-
|
36
|
-
expect(results).to be_kind_of Array
|
37
|
-
expect(results.length).to eq per_page
|
38
|
-
results.each.with_index do |result, index|
|
39
|
-
expect(result).to be_kind_of MangoModel::Event
|
40
|
-
expect(result.resource_id).not_to be_nil
|
41
|
-
next if index == results.length - 1
|
42
|
-
first_date = result.date
|
43
|
-
second_date = results[index + 1].date
|
44
|
-
expect(first_date >= second_date).to be_truthy
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
1
|
+
require_relative '../../lib/mangopay/api/service/events'
|
2
|
+
require_relative '../../lib/mangopay/common/sort_field'
|
3
|
+
require_relative '../../lib/mangopay/common/sort_direction'
|
4
|
+
|
5
|
+
describe MangoApi::Events do
|
6
|
+
|
7
|
+
describe '.all' do
|
8
|
+
|
9
|
+
context 'from a correctly-configured environment' do
|
10
|
+
context 'not having specified filters' do
|
11
|
+
default_per_page = 10
|
12
|
+
|
13
|
+
it 'retrieves list with default parameters' do
|
14
|
+
results = MangoApi::Events.all
|
15
|
+
|
16
|
+
expect(results).to be_kind_of Array
|
17
|
+
expect(results.length).to eq default_per_page
|
18
|
+
results.each do |result|
|
19
|
+
expect(result).to be_kind_of MangoModel::Event
|
20
|
+
expect(result.resource_id).not_to be_nil
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
context 'having specified filters' do
|
26
|
+
per_page = 13
|
27
|
+
|
28
|
+
it 'retrieves list with specified parameters' do
|
29
|
+
results = MangoApi::Events.all do |filter|
|
30
|
+
filter.page = 1
|
31
|
+
filter.per_page = per_page
|
32
|
+
filter.sort_field = MangoPay::SortField::DATE
|
33
|
+
filter.sort_direction = MangoPay::SortDirection::DESC
|
34
|
+
end
|
35
|
+
|
36
|
+
expect(results).to be_kind_of Array
|
37
|
+
expect(results.length).to eq per_page
|
38
|
+
results.each.with_index do |result, index|
|
39
|
+
expect(result).to be_kind_of MangoModel::Event
|
40
|
+
expect(result.resource_id).not_to be_nil
|
41
|
+
next if index == results.length - 1
|
42
|
+
first_date = result.date
|
43
|
+
second_date = results[index + 1].date
|
44
|
+
expect(first_date >= second_date).to be_truthy
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
50
|
end
|
data/spec/mangopay/hooks_spec.rb
CHANGED
@@ -1,71 +1,71 @@
|
|
1
|
-
require_relative '../context/hook_context'
|
2
|
-
require_relative '../../lib/mangopay/api/service/hooks'
|
3
|
-
require_relative '../../lib/mangopay/model/enum/hook_status'
|
4
|
-
require_relative '../../lib/mangopay/common/sort_field'
|
5
|
-
require_relative '../../lib/mangopay/common/sort_direction'
|
6
|
-
|
7
|
-
describe MangoApi::Hooks do
|
8
|
-
include_context 'hook_context'
|
9
|
-
|
10
|
-
|
11
|
-
describe '.create' do
|
12
|
-
|
13
|
-
context 'given a valid object' do
|
14
|
-
hook = HOOK_DATA
|
15
|
-
|
16
|
-
it 'creates the hook entity' do
|
17
|
-
expect { MangoApi::Hooks.create hook }.to raise_error(MangoPay::ResponseError, /already.+registered/)
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
describe '.update' do
|
23
|
-
|
24
|
-
context 'given a valid object' do
|
25
|
-
url = 'https://www.hello.com/hook'
|
26
|
-
status = MangoModel::HookStatus::DISABLED
|
27
|
-
created = HOOK_PERSISTED
|
28
|
-
created.url = url
|
29
|
-
created.status = status
|
30
|
-
|
31
|
-
it 'updates the corresponding entity' do
|
32
|
-
updated = MangoApi::Hooks.update created
|
33
|
-
|
34
|
-
expect(updated).to be_kind_of MangoModel::Hook
|
35
|
-
expect(updated.id).to eq created.id
|
36
|
-
expect(updated.url).to eq url
|
37
|
-
expect(updated.status).to be status
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
describe '.get' do
|
43
|
-
|
44
|
-
context "given an existing entity's ID" do
|
45
|
-
id = HOOK_PERSISTED.id
|
46
|
-
|
47
|
-
it 'retrieves the corresponding entity' do
|
48
|
-
retrieved = MangoApi::Hooks.get id
|
49
|
-
|
50
|
-
expect(retrieved).to be_kind_of MangoModel::Hook
|
51
|
-
expect(retrieved.id).to eq id
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
describe '.all' do
|
57
|
-
|
58
|
-
context 'not having specified filters' do
|
59
|
-
|
60
|
-
it 'retrieves list of all events' do
|
61
|
-
results = MangoApi::Hooks.all
|
62
|
-
|
63
|
-
expect(results).to be_kind_of Array
|
64
|
-
results.each do |result|
|
65
|
-
expect(result).to be_kind_of MangoModel::Hook
|
66
|
-
expect(result.id).not_to be_nil
|
67
|
-
end
|
68
|
-
end
|
69
|
-
end
|
70
|
-
end
|
1
|
+
require_relative '../context/hook_context'
|
2
|
+
require_relative '../../lib/mangopay/api/service/hooks'
|
3
|
+
require_relative '../../lib/mangopay/model/enum/hook_status'
|
4
|
+
require_relative '../../lib/mangopay/common/sort_field'
|
5
|
+
require_relative '../../lib/mangopay/common/sort_direction'
|
6
|
+
|
7
|
+
describe MangoApi::Hooks do
|
8
|
+
include_context 'hook_context'
|
9
|
+
|
10
|
+
|
11
|
+
describe '.create' do
|
12
|
+
|
13
|
+
context 'given a valid object' do
|
14
|
+
hook = HOOK_DATA
|
15
|
+
|
16
|
+
it 'creates the hook entity' do
|
17
|
+
expect { MangoApi::Hooks.create hook }.to raise_error(MangoPay::ResponseError, /already.+registered/)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
describe '.update' do
|
23
|
+
|
24
|
+
context 'given a valid object' do
|
25
|
+
url = 'https://www.hello.com/hook'
|
26
|
+
status = MangoModel::HookStatus::DISABLED
|
27
|
+
created = HOOK_PERSISTED
|
28
|
+
created.url = url
|
29
|
+
created.status = status
|
30
|
+
|
31
|
+
it 'updates the corresponding entity' do
|
32
|
+
updated = MangoApi::Hooks.update created
|
33
|
+
|
34
|
+
expect(updated).to be_kind_of MangoModel::Hook
|
35
|
+
expect(updated.id).to eq created.id
|
36
|
+
expect(updated.url).to eq url
|
37
|
+
expect(updated.status).to be status
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
describe '.get' do
|
43
|
+
|
44
|
+
context "given an existing entity's ID" do
|
45
|
+
id = HOOK_PERSISTED.id
|
46
|
+
|
47
|
+
it 'retrieves the corresponding entity' do
|
48
|
+
retrieved = MangoApi::Hooks.get id
|
49
|
+
|
50
|
+
expect(retrieved).to be_kind_of MangoModel::Hook
|
51
|
+
expect(retrieved.id).to eq id
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
describe '.all' do
|
57
|
+
|
58
|
+
context 'not having specified filters' do
|
59
|
+
|
60
|
+
it 'retrieves list of all events' do
|
61
|
+
results = MangoApi::Hooks.all
|
62
|
+
|
63
|
+
expect(results).to be_kind_of Array
|
64
|
+
results.each do |result|
|
65
|
+
expect(result).to be_kind_of MangoModel::Hook
|
66
|
+
expect(result.id).not_to be_nil
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
71
|
end
|
@@ -1,180 +1,180 @@
|
|
1
|
-
require_relative '../context/kyc_document_context'
|
2
|
-
require_relative '../../lib/mangopay/api/service/kyc_documents'
|
3
|
-
require_relative '../../lib/mangopay/model/document_page_consult'
|
4
|
-
require_relative '../../lib/mangopay/model/entity/kyc_document'
|
5
|
-
require_relative '../../lib/mangopay/common/sort_field'
|
6
|
-
require_relative '../../lib/mangopay/common/sort_direction'
|
7
|
-
|
8
|
-
describe MangoApi::KycDocuments do
|
9
|
-
include_context 'kyc_document_context'
|
10
|
-
|
11
|
-
describe '.create' do
|
12
|
-
|
13
|
-
context 'given a valid object' do
|
14
|
-
kyc_doc = MangoModel::KycDocument.new
|
15
|
-
kyc_doc.type = MangoModel::KycDocumentType::IDENTITY_PROOF
|
16
|
-
|
17
|
-
it 'creates the kyc document entity' do
|
18
|
-
created = MangoApi::KycDocuments.create kyc_doc, NATURAL_USER_PERSISTED.id
|
19
|
-
|
20
|
-
expect(created).to be_kind_of MangoModel::KycDocument
|
21
|
-
expect(created.id).not_to be_nil
|
22
|
-
expect(created.status).to be MangoModel::DocumentStatus::CREATED
|
23
|
-
expect(its_the_same_kyc_doc(kyc_doc, created)).to be_truthy
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
describe '.upload_page' do
|
29
|
-
|
30
|
-
context "given a valid file's path" do
|
31
|
-
path = File.join(File.dirname(__FILE__), '..', 'resources', 'test_pdf.pdf')
|
32
|
-
|
33
|
-
it "uploads the file as one of the KYC document's pages" do
|
34
|
-
response = MangoApi::KycDocuments.upload_page KYC_DOCUMENT_PERSISTED.id,
|
35
|
-
NATURAL_USER_PERSISTED.id,
|
36
|
-
path
|
37
|
-
expect(response).to be_nil
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
describe '.submit' do
|
43
|
-
|
44
|
-
context "given an existing entity's ID" do
|
45
|
-
created = KYC_DOCUMENT_PERSISTED
|
46
|
-
id = created.id
|
47
|
-
# upload a page to allow submission
|
48
|
-
path = File.join(File.dirname(__FILE__), '..', 'resources', 'test_pdf.pdf')
|
49
|
-
MangoApi::KycDocuments.upload_page KYC_DOCUMENT_PERSISTED.id,
|
50
|
-
NATURAL_USER_PERSISTED.id,
|
51
|
-
path
|
52
|
-
|
53
|
-
it 'submits the corresponding entity for approval' do
|
54
|
-
submitted = MangoApi::KycDocuments.submit id, NATURAL_USER_PERSISTED.id
|
55
|
-
|
56
|
-
expect(submitted).to be_kind_of MangoModel::KycDocument
|
57
|
-
expect(submitted.id).to eq id
|
58
|
-
expect(submitted.status).to be MangoModel::DocumentStatus::VALIDATION_ASKED
|
59
|
-
expect(its_the_same_kyc_doc(created, submitted)).to be_truthy
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
|
-
describe '.of_user' do
|
65
|
-
|
66
|
-
context "given an existing user entity's ID" do
|
67
|
-
id = NATURAL_USER_PERSISTED.id
|
68
|
-
# prepare some test data
|
69
|
-
10.times do
|
70
|
-
persist_kyc_doc KYC_DOCUMENT_DATA
|
71
|
-
end
|
72
|
-
|
73
|
-
context 'not having specified filters' do
|
74
|
-
default_per_page = 10
|
75
|
-
|
76
|
-
it 'retrieves list with default parameters' do
|
77
|
-
results = MangoApi::KycDocuments.of_user id
|
78
|
-
|
79
|
-
expect(results).to be_kind_of Array
|
80
|
-
expect(results.length).to eq default_per_page
|
81
|
-
results.each do |result|
|
82
|
-
expect(result).to be_kind_of MangoModel::KycDocument
|
83
|
-
expect(result.id).not_to be_nil
|
84
|
-
expect(result.user_id).to eq id
|
85
|
-
end
|
86
|
-
end
|
87
|
-
end
|
88
|
-
|
89
|
-
context 'having specified filters' do
|
90
|
-
per_page = 11
|
91
|
-
|
92
|
-
it 'retrieves list with specified parameters' do
|
93
|
-
results = MangoApi::KycDocuments.of_user id do |filter|
|
94
|
-
filter.page = 1
|
95
|
-
filter.per_page = per_page
|
96
|
-
filter.sort_field = MangoPay::SortField::CREATION_DATE
|
97
|
-
filter.sort_direction = MangoPay::SortDirection::ASC
|
98
|
-
end
|
99
|
-
|
100
|
-
expect(results).to be_kind_of Array
|
101
|
-
expect(results.length).to eq per_page
|
102
|
-
results.each.with_index do |result, index|
|
103
|
-
expect(result).to be_kind_of MangoModel::KycDocument
|
104
|
-
expect(result.id).not_to be_nil
|
105
|
-
expect(result.user_id).to eq id
|
106
|
-
next if index == results.length - 1
|
107
|
-
first_date = result.creation_date
|
108
|
-
second_date = results[index + 1].creation_date
|
109
|
-
expect(first_date <= second_date).to be_truthy
|
110
|
-
end
|
111
|
-
end
|
112
|
-
end
|
113
|
-
end
|
114
|
-
end
|
115
|
-
|
116
|
-
describe '.all' do
|
117
|
-
|
118
|
-
context 'from a correctly-configured environment' do
|
119
|
-
# prepare some test data
|
120
|
-
10.times do
|
121
|
-
persist_kyc_doc KYC_DOCUMENT_DATA
|
122
|
-
end
|
123
|
-
|
124
|
-
context 'not having specified filters' do
|
125
|
-
default_per_page = 10
|
126
|
-
|
127
|
-
it 'retrieves list with default parameters' do
|
128
|
-
results = MangoApi::KycDocuments.all
|
129
|
-
|
130
|
-
expect(results).to be_kind_of Array
|
131
|
-
expect(results.length).to eq default_per_page
|
132
|
-
results.each do |result|
|
133
|
-
expect(result).to be_kind_of MangoModel::KycDocument
|
134
|
-
expect(result.id).not_to be_nil
|
135
|
-
end
|
136
|
-
end
|
137
|
-
end
|
138
|
-
|
139
|
-
context 'having specified filters' do
|
140
|
-
per_page = 11
|
141
|
-
|
142
|
-
it 'retrieves list with specified parameters' do
|
143
|
-
results = MangoApi::KycDocuments.all do |filter|
|
144
|
-
filter.page = 1
|
145
|
-
filter.per_page = per_page
|
146
|
-
filter.sort_field = MangoPay::SortField::CREATION_DATE
|
147
|
-
filter.sort_direction = MangoPay::SortDirection::ASC
|
148
|
-
end
|
149
|
-
|
150
|
-
expect(results).to be_kind_of Array
|
151
|
-
expect(results.length).to eq per_page
|
152
|
-
results.each.with_index do |result, index|
|
153
|
-
expect(result).to be_kind_of MangoModel::KycDocument
|
154
|
-
expect(result.id).not_to be_nil
|
155
|
-
next if index == results.length - 1
|
156
|
-
first_date = result.creation_date
|
157
|
-
second_date = results[index + 1].creation_date
|
158
|
-
expect(first_date <= second_date).to be_truthy
|
159
|
-
end
|
160
|
-
end
|
161
|
-
end
|
162
|
-
end
|
163
|
-
end
|
164
|
-
|
165
|
-
describe '.consult' do
|
166
|
-
|
167
|
-
context "given an existing entity's ID" do
|
168
|
-
id = KYC_DOCUMENT_PERSISTED.id
|
169
|
-
|
170
|
-
it 'creates the document page consult entities' do
|
171
|
-
results = MangoApi::KycDocuments.consult id
|
172
|
-
|
173
|
-
expect(results).to be_kind_of Array
|
174
|
-
results.each do |result|
|
175
|
-
expect(result).to be_kind_of MangoModel::DocumentPageConsult
|
176
|
-
end
|
177
|
-
end
|
178
|
-
end
|
179
|
-
end
|
1
|
+
require_relative '../context/kyc_document_context'
|
2
|
+
require_relative '../../lib/mangopay/api/service/kyc_documents'
|
3
|
+
require_relative '../../lib/mangopay/model/document_page_consult'
|
4
|
+
require_relative '../../lib/mangopay/model/entity/kyc_document'
|
5
|
+
require_relative '../../lib/mangopay/common/sort_field'
|
6
|
+
require_relative '../../lib/mangopay/common/sort_direction'
|
7
|
+
|
8
|
+
describe MangoApi::KycDocuments do
|
9
|
+
include_context 'kyc_document_context'
|
10
|
+
|
11
|
+
describe '.create' do
|
12
|
+
|
13
|
+
context 'given a valid object' do
|
14
|
+
kyc_doc = MangoModel::KycDocument.new
|
15
|
+
kyc_doc.type = MangoModel::KycDocumentType::IDENTITY_PROOF
|
16
|
+
|
17
|
+
it 'creates the kyc document entity' do
|
18
|
+
created = MangoApi::KycDocuments.create kyc_doc, NATURAL_USER_PERSISTED.id
|
19
|
+
|
20
|
+
expect(created).to be_kind_of MangoModel::KycDocument
|
21
|
+
expect(created.id).not_to be_nil
|
22
|
+
expect(created.status).to be MangoModel::DocumentStatus::CREATED
|
23
|
+
expect(its_the_same_kyc_doc(kyc_doc, created)).to be_truthy
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe '.upload_page' do
|
29
|
+
|
30
|
+
context "given a valid file's path" do
|
31
|
+
path = File.join(File.dirname(__FILE__), '..', 'resources', 'test_pdf.pdf')
|
32
|
+
|
33
|
+
it "uploads the file as one of the KYC document's pages" do
|
34
|
+
response = MangoApi::KycDocuments.upload_page KYC_DOCUMENT_PERSISTED.id,
|
35
|
+
NATURAL_USER_PERSISTED.id,
|
36
|
+
path
|
37
|
+
expect(response).to be_nil
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
describe '.submit' do
|
43
|
+
|
44
|
+
context "given an existing entity's ID" do
|
45
|
+
created = KYC_DOCUMENT_PERSISTED
|
46
|
+
id = created.id
|
47
|
+
# upload a page to allow submission
|
48
|
+
path = File.join(File.dirname(__FILE__), '..', 'resources', 'test_pdf.pdf')
|
49
|
+
MangoApi::KycDocuments.upload_page KYC_DOCUMENT_PERSISTED.id,
|
50
|
+
NATURAL_USER_PERSISTED.id,
|
51
|
+
path
|
52
|
+
|
53
|
+
it 'submits the corresponding entity for approval' do
|
54
|
+
submitted = MangoApi::KycDocuments.submit id, NATURAL_USER_PERSISTED.id
|
55
|
+
|
56
|
+
expect(submitted).to be_kind_of MangoModel::KycDocument
|
57
|
+
expect(submitted.id).to eq id
|
58
|
+
expect(submitted.status).to be MangoModel::DocumentStatus::VALIDATION_ASKED
|
59
|
+
expect(its_the_same_kyc_doc(created, submitted)).to be_truthy
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
describe '.of_user' do
|
65
|
+
|
66
|
+
context "given an existing user entity's ID" do
|
67
|
+
id = NATURAL_USER_PERSISTED.id
|
68
|
+
# prepare some test data
|
69
|
+
10.times do
|
70
|
+
persist_kyc_doc KYC_DOCUMENT_DATA
|
71
|
+
end
|
72
|
+
|
73
|
+
context 'not having specified filters' do
|
74
|
+
default_per_page = 10
|
75
|
+
|
76
|
+
it 'retrieves list with default parameters' do
|
77
|
+
results = MangoApi::KycDocuments.of_user id
|
78
|
+
|
79
|
+
expect(results).to be_kind_of Array
|
80
|
+
expect(results.length).to eq default_per_page
|
81
|
+
results.each do |result|
|
82
|
+
expect(result).to be_kind_of MangoModel::KycDocument
|
83
|
+
expect(result.id).not_to be_nil
|
84
|
+
expect(result.user_id).to eq id
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
context 'having specified filters' do
|
90
|
+
per_page = 11
|
91
|
+
|
92
|
+
it 'retrieves list with specified parameters' do
|
93
|
+
results = MangoApi::KycDocuments.of_user id do |filter|
|
94
|
+
filter.page = 1
|
95
|
+
filter.per_page = per_page
|
96
|
+
filter.sort_field = MangoPay::SortField::CREATION_DATE
|
97
|
+
filter.sort_direction = MangoPay::SortDirection::ASC
|
98
|
+
end
|
99
|
+
|
100
|
+
expect(results).to be_kind_of Array
|
101
|
+
expect(results.length).to eq per_page
|
102
|
+
results.each.with_index do |result, index|
|
103
|
+
expect(result).to be_kind_of MangoModel::KycDocument
|
104
|
+
expect(result.id).not_to be_nil
|
105
|
+
expect(result.user_id).to eq id
|
106
|
+
next if index == results.length - 1
|
107
|
+
first_date = result.creation_date
|
108
|
+
second_date = results[index + 1].creation_date
|
109
|
+
expect(first_date <= second_date).to be_truthy
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
describe '.all' do
|
117
|
+
|
118
|
+
context 'from a correctly-configured environment' do
|
119
|
+
# prepare some test data
|
120
|
+
10.times do
|
121
|
+
persist_kyc_doc KYC_DOCUMENT_DATA
|
122
|
+
end
|
123
|
+
|
124
|
+
context 'not having specified filters' do
|
125
|
+
default_per_page = 10
|
126
|
+
|
127
|
+
it 'retrieves list with default parameters' do
|
128
|
+
results = MangoApi::KycDocuments.all
|
129
|
+
|
130
|
+
expect(results).to be_kind_of Array
|
131
|
+
expect(results.length).to eq default_per_page
|
132
|
+
results.each do |result|
|
133
|
+
expect(result).to be_kind_of MangoModel::KycDocument
|
134
|
+
expect(result.id).not_to be_nil
|
135
|
+
end
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
context 'having specified filters' do
|
140
|
+
per_page = 11
|
141
|
+
|
142
|
+
it 'retrieves list with specified parameters' do
|
143
|
+
results = MangoApi::KycDocuments.all do |filter|
|
144
|
+
filter.page = 1
|
145
|
+
filter.per_page = per_page
|
146
|
+
filter.sort_field = MangoPay::SortField::CREATION_DATE
|
147
|
+
filter.sort_direction = MangoPay::SortDirection::ASC
|
148
|
+
end
|
149
|
+
|
150
|
+
expect(results).to be_kind_of Array
|
151
|
+
expect(results.length).to eq per_page
|
152
|
+
results.each.with_index do |result, index|
|
153
|
+
expect(result).to be_kind_of MangoModel::KycDocument
|
154
|
+
expect(result.id).not_to be_nil
|
155
|
+
next if index == results.length - 1
|
156
|
+
first_date = result.creation_date
|
157
|
+
second_date = results[index + 1].creation_date
|
158
|
+
expect(first_date <= second_date).to be_truthy
|
159
|
+
end
|
160
|
+
end
|
161
|
+
end
|
162
|
+
end
|
163
|
+
end
|
164
|
+
|
165
|
+
describe '.consult' do
|
166
|
+
|
167
|
+
context "given an existing entity's ID" do
|
168
|
+
id = KYC_DOCUMENT_PERSISTED.id
|
169
|
+
|
170
|
+
it 'creates the document page consult entities' do
|
171
|
+
results = MangoApi::KycDocuments.consult id
|
172
|
+
|
173
|
+
expect(results).to be_kind_of Array
|
174
|
+
results.each do |result|
|
175
|
+
expect(result).to be_kind_of MangoModel::DocumentPageConsult
|
176
|
+
end
|
177
|
+
end
|
178
|
+
end
|
179
|
+
end
|
180
180
|
end
|