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
@@ -0,0 +1,85 @@
|
|
1
|
+
require_relative '../context/banking_alias_context'
|
2
|
+
require_relative '../../lib/mangopay/api/service/banking_aliases'
|
3
|
+
|
4
|
+
describe MangoApi::BankingAliases do
|
5
|
+
include_context 'banking_alias_context'
|
6
|
+
|
7
|
+
describe 'get' do
|
8
|
+
context 'given created wallets and aliases' do
|
9
|
+
wallet = WALLET_DATA
|
10
|
+
banking_alias = BANKING_ALIAS
|
11
|
+
|
12
|
+
it 'gets a banking alias' do
|
13
|
+
created = persist_wallet wallet
|
14
|
+
expect(created).to be_kind_of MangoModel::Wallet
|
15
|
+
expect(created.id).not_to be_nil
|
16
|
+
expect(its_the_same_wallet(wallet, created)).to be_truthy
|
17
|
+
|
18
|
+
banking_alias_created = MangoApi::BankingAliases.create_iban(banking_alias, created.id)
|
19
|
+
|
20
|
+
received = MangoApi::BankingAliases.get banking_alias_created.id
|
21
|
+
|
22
|
+
expect(received).not_to be_nil
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'gets banking aliases' do
|
26
|
+
created = persist_wallet wallet
|
27
|
+
expect(created).to be_kind_of MangoModel::Wallet
|
28
|
+
expect(created.id).not_to be_nil
|
29
|
+
expect(its_the_same_wallet(wallet, created)).to be_truthy
|
30
|
+
|
31
|
+
banking_alias_created = MangoApi::BankingAliases.create_iban(banking_alias, created.id)
|
32
|
+
|
33
|
+
received = MangoApi::BankingAliases.get_all created.id
|
34
|
+
|
35
|
+
expect(received).not_to be_nil
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
describe 'create' do
|
41
|
+
context 'given a valid object' do
|
42
|
+
wallet = WALLET_DATA
|
43
|
+
banking_alias = BANKING_ALIAS
|
44
|
+
it 'creates the banking alias entity' do
|
45
|
+
created = persist_wallet wallet
|
46
|
+
expect(created).to be_kind_of MangoModel::Wallet
|
47
|
+
expect(created.id).not_to be_nil
|
48
|
+
expect(its_the_same_wallet(wallet, created)).to be_truthy
|
49
|
+
|
50
|
+
banking_alias_created = MangoApi::BankingAliases.create_iban(banking_alias, created.id)
|
51
|
+
|
52
|
+
expect(banking_alias_created).not_to be_nil
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
describe 'update' do
|
58
|
+
context 'given a banking alias' do
|
59
|
+
wallet = WALLET_DATA
|
60
|
+
banking_alias = BANKING_ALIAS
|
61
|
+
it 'deactivates it' do
|
62
|
+
created = persist_wallet wallet
|
63
|
+
expect(created).to be_kind_of MangoModel::Wallet
|
64
|
+
expect(created.id).not_to be_nil
|
65
|
+
expect(its_the_same_wallet(wallet, created)).to be_truthy
|
66
|
+
|
67
|
+
banking_alias_created = MangoApi::BankingAliases.create_iban(banking_alias, created.id)
|
68
|
+
expect(banking_alias_created).not_to be_nil
|
69
|
+
|
70
|
+
banking_alias_created.active = false
|
71
|
+
|
72
|
+
banking_alias_updated = MangoApi::BankingAliases.update(banking_alias_created.id, banking_alias_created)
|
73
|
+
|
74
|
+
expect(banking_alias_updated).not_to be_nil
|
75
|
+
expect(banking_alias_updated.active).to be(false)
|
76
|
+
|
77
|
+
get_again_banking = MangoApi::BankingAliases.get banking_alias_created.id
|
78
|
+
|
79
|
+
expect(get_again_banking).not_to be_nil
|
80
|
+
expect(get_again_banking.active).to be(false)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
end
|
data/spec/mangopay/cards_spec.rb
CHANGED
@@ -1,135 +1,134 @@
|
|
1
|
-
require_relative '../context/card_context'
|
2
|
-
require_relative '../../lib/mangopay/api/service/cards'
|
3
|
-
require_relative '../../lib/mangopay/common/sort_field'
|
4
|
-
require_relative '../../lib/mangopay/common/sort_direction'
|
5
|
-
|
6
|
-
describe MangoApi::Cards do
|
7
|
-
include_context 'card_context'
|
8
|
-
|
9
|
-
describe '.create_registration' do
|
10
|
-
|
11
|
-
context 'given a valid object' do
|
12
|
-
card_registration = CARD_REGISTRATION_DATA
|
13
|
-
|
14
|
-
it 'creates the card registration entity' do
|
15
|
-
retrieved = MangoApi::Cards.create_registration card_registration
|
16
|
-
|
17
|
-
expect(retrieved).to be_kind_of MangoModel::CardRegistration
|
18
|
-
expect(retrieved.id).not_to be_nil
|
19
|
-
expect(retrieved.access_key).not_to be_nil
|
20
|
-
expect(retrieved.card_registration_url).not_to be_nil
|
21
|
-
expect(retrieved.preregistration_data).not_to be_nil
|
22
|
-
expect(retrieved.status).to be MangoModel::CardStatus::CREATED
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
describe '.complete_registration' do
|
28
|
-
|
29
|
-
context 'given the registration data from Tokenization Server' do
|
30
|
-
it 'completes the card registration process' do
|
31
|
-
created = CARD_REGISTRATION_PERSISTED
|
32
|
-
completed = CARD_REGISTRATION_COMPLETED
|
33
|
-
expect(completed).to be_kind_of MangoModel::CardRegistration
|
34
|
-
expect(completed.id).to eq created.id
|
35
|
-
expect(completed.status).to be MangoModel::CardStatus::VALIDATED
|
36
|
-
expect(completed.card_id).not_to be_nil
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
describe '.get_registration' do
|
42
|
-
|
43
|
-
context "given an existing entity's ID" do
|
44
|
-
card_registration = CARD_REGISTRATION_PERSISTED
|
45
|
-
id = card_registration.id
|
46
|
-
|
47
|
-
it 'retrieves the corresponding entity' do
|
48
|
-
retrieved = MangoApi::Cards.get_registration id
|
49
|
-
|
50
|
-
expect(retrieved).to be_kind_of MangoModel::CardRegistration
|
51
|
-
expect(retrieved.id).to eq card_registration.id
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
describe '.get' do
|
57
|
-
|
58
|
-
context "given a validated card entity's ID" do
|
59
|
-
id = CARD_REGISTRATION_COMPLETED.card_id
|
60
|
-
retrieved = MangoApi::Cards.get id
|
61
|
-
|
62
|
-
it 'retrieves the corresponding card entity' do
|
63
|
-
expect(retrieved).to be_kind_of MangoModel::Card
|
64
|
-
card = retrieved
|
65
|
-
expect(card.id).to eq id
|
66
|
-
expect(card.active).to be_truthy
|
67
|
-
expect(card.card_type).to be MangoModel::CardType::CB_VISA_MASTERCARD
|
68
|
-
expect(card.currency).to be MangoModel::CurrencyIso::EUR
|
69
|
-
expect(card.expiration_date).to eq CARD_EXPIRATION
|
70
|
-
expect(card.fingerprint).not_to be_nil
|
71
|
-
expect(card.user_id).to eq CARD_REGISTRATION_COMPLETED.user_id
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
expect(result).
|
89
|
-
expect(result.
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
filter.
|
101
|
-
filter.
|
102
|
-
filter.
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
expect(results).to
|
107
|
-
|
108
|
-
|
109
|
-
expect(result).
|
110
|
-
expect(result.
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
#
|
118
|
-
#
|
119
|
-
#
|
120
|
-
#
|
121
|
-
#
|
122
|
-
#
|
123
|
-
#
|
124
|
-
#
|
125
|
-
#
|
126
|
-
#
|
127
|
-
#
|
128
|
-
# expect(deactivated).to
|
129
|
-
# expect(deactivated.
|
130
|
-
#
|
131
|
-
#
|
132
|
-
#
|
133
|
-
|
134
|
-
end
|
1
|
+
require_relative '../context/card_context'
|
2
|
+
require_relative '../../lib/mangopay/api/service/cards'
|
3
|
+
require_relative '../../lib/mangopay/common/sort_field'
|
4
|
+
require_relative '../../lib/mangopay/common/sort_direction'
|
5
|
+
|
6
|
+
describe MangoApi::Cards do
|
7
|
+
include_context 'card_context'
|
8
|
+
|
9
|
+
describe '.create_registration' do
|
10
|
+
|
11
|
+
context 'given a valid object' do
|
12
|
+
card_registration = CARD_REGISTRATION_DATA
|
13
|
+
|
14
|
+
it 'creates the card registration entity' do
|
15
|
+
retrieved = MangoApi::Cards.create_registration card_registration
|
16
|
+
|
17
|
+
expect(retrieved).to be_kind_of MangoModel::CardRegistration
|
18
|
+
expect(retrieved.id).not_to be_nil
|
19
|
+
expect(retrieved.access_key).not_to be_nil
|
20
|
+
expect(retrieved.card_registration_url).not_to be_nil
|
21
|
+
expect(retrieved.preregistration_data).not_to be_nil
|
22
|
+
expect(retrieved.status).to be MangoModel::CardStatus::CREATED
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
describe '.complete_registration' do
|
28
|
+
|
29
|
+
context 'given the registration data from Tokenization Server' do
|
30
|
+
it 'completes the card registration process' do
|
31
|
+
created = CARD_REGISTRATION_PERSISTED
|
32
|
+
completed = CARD_REGISTRATION_COMPLETED
|
33
|
+
expect(completed).to be_kind_of MangoModel::CardRegistration
|
34
|
+
expect(completed.id).to eq created.id
|
35
|
+
expect(completed.status).to be MangoModel::CardStatus::VALIDATED
|
36
|
+
expect(completed.card_id).not_to be_nil
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
describe '.get_registration' do
|
42
|
+
|
43
|
+
context "given an existing entity's ID" do
|
44
|
+
card_registration = CARD_REGISTRATION_PERSISTED
|
45
|
+
id = card_registration.id
|
46
|
+
|
47
|
+
it 'retrieves the corresponding entity' do
|
48
|
+
retrieved = MangoApi::Cards.get_registration id
|
49
|
+
|
50
|
+
expect(retrieved).to be_kind_of MangoModel::CardRegistration
|
51
|
+
expect(retrieved.id).to eq card_registration.id
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
describe '.get' do
|
57
|
+
|
58
|
+
context "given a validated card entity's ID" do
|
59
|
+
id = CARD_REGISTRATION_COMPLETED.card_id
|
60
|
+
retrieved = MangoApi::Cards.get id
|
61
|
+
|
62
|
+
it 'retrieves the corresponding card entity' do
|
63
|
+
expect(retrieved).to be_kind_of MangoModel::Card
|
64
|
+
card = retrieved
|
65
|
+
expect(card.id).to eq id
|
66
|
+
expect(card.active).to be_truthy
|
67
|
+
expect(card.card_type).to be MangoModel::CardType::CB_VISA_MASTERCARD
|
68
|
+
expect(card.currency).to be MangoModel::CurrencyIso::EUR
|
69
|
+
expect(card.expiration_date).to eq CARD_EXPIRATION
|
70
|
+
expect(card.fingerprint).not_to be_nil
|
71
|
+
expect(card.user_id).to eq CARD_REGISTRATION_COMPLETED.user_id
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
describe '.of_user' do
|
77
|
+
|
78
|
+
context "given a valid user entity's ID" do
|
79
|
+
id = NATURAL_USER_PERSISTED.id
|
80
|
+
|
81
|
+
context 'not having specified filters' do
|
82
|
+
it 'retrieves list with default parameters' do
|
83
|
+
results = MangoApi::Cards.of_user id
|
84
|
+
|
85
|
+
expect(results).to be_kind_of Array
|
86
|
+
results.each do |result|
|
87
|
+
expect(result).to be_kind_of MangoModel::Card
|
88
|
+
expect(result.id).not_to be_nil
|
89
|
+
expect(result.user_id).to eq id
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
context 'having specified filters' do
|
95
|
+
per_page = 1
|
96
|
+
|
97
|
+
it 'retrieves list with specified parameters' do
|
98
|
+
results = MangoApi::Cards.of_user id do |filter|
|
99
|
+
filter.page = 1
|
100
|
+
filter.per_page = per_page
|
101
|
+
filter.sort_field = MangoPay::SortField::CREATION_DATE
|
102
|
+
filter.sort_direction = MangoPay::SortDirection::ASC
|
103
|
+
end
|
104
|
+
|
105
|
+
expect(results).to be_kind_of Array
|
106
|
+
expect(results.length).to eq per_page
|
107
|
+
results.each do |result|
|
108
|
+
expect(result).to be_kind_of MangoModel::Card
|
109
|
+
expect(result.id).not_to be_nil
|
110
|
+
expect(result.user_id).to eq id
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
# Currently disabled because it deactivates the only testing card.
|
117
|
+
# Works if ran alone.
|
118
|
+
#
|
119
|
+
# describe '.deactivate' do
|
120
|
+
#
|
121
|
+
# context "given a valid card entity's ID" do
|
122
|
+
# it 'deactivates the corresponding card entity' do
|
123
|
+
# card = CARD
|
124
|
+
# id = card.id
|
125
|
+
# deactivated = MangoApi::Cards.deactivate id
|
126
|
+
#
|
127
|
+
# expect(deactivated).to be_kind_of MangoModel::Card
|
128
|
+
# expect(deactivated.id).to eq id
|
129
|
+
# expect(deactivated.active).to be_falsey
|
130
|
+
# end
|
131
|
+
# end
|
132
|
+
# end
|
133
|
+
end
|
135
134
|
end
|
@@ -1,148 +1,148 @@
|
|
1
|
-
require_relative '../../lib/mangopay/api/service/client_wallets'
|
2
|
-
require_relative '../../lib/mangopay/model/entity/client_wallet'
|
3
|
-
require_relative '../../lib/mangopay/common/sort_field'
|
4
|
-
require_relative '../../lib/mangopay/common/sort_direction'
|
5
|
-
|
6
|
-
describe MangoApi::ClientWallets do
|
7
|
-
|
8
|
-
describe '.get' do
|
9
|
-
|
10
|
-
context 'from a correctly-configured environment' do
|
11
|
-
it "retrieves the environment's client's ClientWallet entities" do
|
12
|
-
funds_type = MangoModel::FundsType::CREDIT
|
13
|
-
currency = MangoModel::CurrencyIso::EUR
|
14
|
-
retrieved = MangoApi::ClientWallets.get(funds_type, currency)
|
15
|
-
|
16
|
-
expect(retrieved).to be_kind_of MangoModel::ClientWallet
|
17
|
-
expect(retrieved.funds_type).to be funds_type
|
18
|
-
expect(retrieved.currency).to be currency
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
describe '.all' do
|
24
|
-
default_per_page = 10
|
25
|
-
|
26
|
-
context 'not having specified filters' do
|
27
|
-
results = MangoApi::ClientWallets.all
|
28
|
-
|
29
|
-
it 'retrieves list with default parameters' do
|
30
|
-
expect(results).to be_kind_of Array
|
31
|
-
expect(results.length).to eq default_per_page
|
32
|
-
results.each do |result|
|
33
|
-
expect(result).to be_kind_of MangoModel::ClientWallet
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
context 'having specified filters' do
|
39
|
-
per_page = 3
|
40
|
-
results = MangoApi::ClientWallets.all do |filter|
|
41
|
-
filter.page = 1
|
42
|
-
filter.per_page = per_page
|
43
|
-
filter.sort_field = MangoPay::SortField::CREATION_DATE
|
44
|
-
filter.sort_direction = MangoPay::SortDirection::ASC
|
45
|
-
end
|
46
|
-
|
47
|
-
it 'retrieves list according to provided parameters' do
|
48
|
-
expect(results).to be_kind_of Array
|
49
|
-
expect(results.length).to eq per_page
|
50
|
-
results.each.with_index do |result, index|
|
51
|
-
expect(result).to be_kind_of MangoModel::ClientWallet
|
52
|
-
next if index == results.length - 1
|
53
|
-
first_date = result.creation_date
|
54
|
-
second_date = results[index + 1].creation_date
|
55
|
-
expect(first_date <= second_date).to be_truthy
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
describe '.of_funds_type' do
|
62
|
-
default_per_page = 10
|
63
|
-
|
64
|
-
describe '#FEES' do
|
65
|
-
funds_type = MangoModel::FundsType::FEES
|
66
|
-
MangoApi::ClientWallets.get(funds_type, MangoModel::CurrencyIso::FKP)
|
67
|
-
MangoApi::ClientWallets.get(funds_type, MangoModel::CurrencyIso::LAK)
|
68
|
-
MangoApi::ClientWallets.get(funds_type, MangoModel::CurrencyIso::MMK)
|
69
|
-
MangoApi::ClientWallets.get(funds_type, MangoModel::CurrencyIso::NOK)
|
70
|
-
MangoApi::ClientWallets.get(funds_type, MangoModel::CurrencyIso::XBA)
|
71
|
-
|
72
|
-
context 'not having specified filters' do
|
73
|
-
it 'retrieves list with default parameters' do
|
74
|
-
results = MangoApi::ClientWallets.of_funds_type(funds_type)
|
75
|
-
|
76
|
-
check_results(results, default_per_page, funds_type)
|
77
|
-
end
|
78
|
-
end
|
79
|
-
|
80
|
-
context 'having specified filters' do
|
81
|
-
per_page = 3
|
82
|
-
results = MangoApi::ClientWallets.of_funds_type(funds_type) do |filter|
|
83
|
-
filter.page = 1
|
84
|
-
filter.per_page = per_page
|
85
|
-
filter.sort_field = MangoPay::SortField::CREATION_DATE
|
86
|
-
filter.sort_direction = MangoPay::SortDirection::ASC
|
87
|
-
end
|
88
|
-
|
89
|
-
it 'retrieves list according to provided parameters' do
|
90
|
-
check_results(results, per_page, funds_type)
|
91
|
-
results.each.with_index do |result, index|
|
92
|
-
next if index == results.length - 1
|
93
|
-
first_date = result.creation_date
|
94
|
-
second_date = results[index + 1].creation_date
|
95
|
-
expect(first_date <= second_date).to be_truthy
|
96
|
-
end
|
97
|
-
end
|
98
|
-
end
|
99
|
-
end
|
100
|
-
|
101
|
-
describe '#CREDIT' do
|
102
|
-
funds_type = MangoModel::FundsType::FEES
|
103
|
-
MangoApi::ClientWallets.get(funds_type, MangoModel::CurrencyIso::FKP)
|
104
|
-
MangoApi::ClientWallets.get(funds_type, MangoModel::CurrencyIso::LAK)
|
105
|
-
MangoApi::ClientWallets.get(funds_type, MangoModel::CurrencyIso::MMK)
|
106
|
-
MangoApi::ClientWallets.get(funds_type, MangoModel::CurrencyIso::NOK)
|
107
|
-
MangoApi::ClientWallets.get(funds_type, MangoModel::CurrencyIso::XBA)
|
108
|
-
|
109
|
-
context 'not having specified filters' do
|
110
|
-
it 'retrieves list with default parameters' do
|
111
|
-
results = MangoApi::ClientWallets.of_funds_type(funds_type)
|
112
|
-
|
113
|
-
check_results(results, default_per_page, funds_type)
|
114
|
-
end
|
115
|
-
end
|
116
|
-
|
117
|
-
context 'having specified filters' do
|
118
|
-
per_page = 3
|
119
|
-
results = MangoApi::ClientWallets.of_funds_type(funds_type) do |filter|
|
120
|
-
filter.page = 1
|
121
|
-
filter.per_page = per_page
|
122
|
-
filter.sort_field = MangoPay::SortField::CREATION_DATE
|
123
|
-
filter.sort_direction = MangoPay::SortDirection::ASC
|
124
|
-
end
|
125
|
-
|
126
|
-
it 'retrieves list according to provided parameters' do
|
127
|
-
check_results(results, per_page, funds_type)
|
128
|
-
results.each.with_index do |result, index|
|
129
|
-
next if index == results.length - 1
|
130
|
-
first_date = result.creation_date
|
131
|
-
second_date = results[index + 1].creation_date
|
132
|
-
expect(first_date <= second_date).to be_truthy
|
133
|
-
end
|
134
|
-
end
|
135
|
-
end
|
136
|
-
end
|
137
|
-
end
|
138
|
-
end
|
139
|
-
|
140
|
-
# noinspection RubyResolve
|
141
|
-
def check_results(results, per_page, funds_type)
|
142
|
-
expect(results).to be_kind_of Array
|
143
|
-
expect(results.length).to eq per_page
|
144
|
-
results.each do |result|
|
145
|
-
expect(result).to be_kind_of MangoModel::ClientWallet
|
146
|
-
expect(result.funds_type).to be funds_type
|
147
|
-
end
|
1
|
+
require_relative '../../lib/mangopay/api/service/client_wallets'
|
2
|
+
require_relative '../../lib/mangopay/model/entity/client_wallet'
|
3
|
+
require_relative '../../lib/mangopay/common/sort_field'
|
4
|
+
require_relative '../../lib/mangopay/common/sort_direction'
|
5
|
+
|
6
|
+
describe MangoApi::ClientWallets do
|
7
|
+
|
8
|
+
describe '.get' do
|
9
|
+
|
10
|
+
context 'from a correctly-configured environment' do
|
11
|
+
it "retrieves the environment's client's ClientWallet entities" do
|
12
|
+
funds_type = MangoModel::FundsType::CREDIT
|
13
|
+
currency = MangoModel::CurrencyIso::EUR
|
14
|
+
retrieved = MangoApi::ClientWallets.get(funds_type, currency)
|
15
|
+
|
16
|
+
expect(retrieved).to be_kind_of MangoModel::ClientWallet
|
17
|
+
expect(retrieved.funds_type).to be funds_type
|
18
|
+
expect(retrieved.currency).to be currency
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe '.all' do
|
24
|
+
default_per_page = 10
|
25
|
+
|
26
|
+
context 'not having specified filters' do
|
27
|
+
results = MangoApi::ClientWallets.all
|
28
|
+
|
29
|
+
it 'retrieves list with default parameters' do
|
30
|
+
expect(results).to be_kind_of Array
|
31
|
+
expect(results.length).to eq default_per_page
|
32
|
+
results.each do |result|
|
33
|
+
expect(result).to be_kind_of MangoModel::ClientWallet
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
context 'having specified filters' do
|
39
|
+
per_page = 3
|
40
|
+
results = MangoApi::ClientWallets.all do |filter|
|
41
|
+
filter.page = 1
|
42
|
+
filter.per_page = per_page
|
43
|
+
filter.sort_field = MangoPay::SortField::CREATION_DATE
|
44
|
+
filter.sort_direction = MangoPay::SortDirection::ASC
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'retrieves list according to provided parameters' do
|
48
|
+
expect(results).to be_kind_of Array
|
49
|
+
expect(results.length).to eq per_page
|
50
|
+
results.each.with_index do |result, index|
|
51
|
+
expect(result).to be_kind_of MangoModel::ClientWallet
|
52
|
+
next if index == results.length - 1
|
53
|
+
first_date = result.creation_date
|
54
|
+
second_date = results[index + 1].creation_date
|
55
|
+
expect(first_date <= second_date).to be_truthy
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
describe '.of_funds_type' do
|
62
|
+
default_per_page = 10
|
63
|
+
|
64
|
+
describe '#FEES' do
|
65
|
+
funds_type = MangoModel::FundsType::FEES
|
66
|
+
MangoApi::ClientWallets.get(funds_type, MangoModel::CurrencyIso::FKP)
|
67
|
+
MangoApi::ClientWallets.get(funds_type, MangoModel::CurrencyIso::LAK)
|
68
|
+
MangoApi::ClientWallets.get(funds_type, MangoModel::CurrencyIso::MMK)
|
69
|
+
MangoApi::ClientWallets.get(funds_type, MangoModel::CurrencyIso::NOK)
|
70
|
+
MangoApi::ClientWallets.get(funds_type, MangoModel::CurrencyIso::XBA)
|
71
|
+
|
72
|
+
context 'not having specified filters' do
|
73
|
+
it 'retrieves list with default parameters' do
|
74
|
+
results = MangoApi::ClientWallets.of_funds_type(funds_type)
|
75
|
+
|
76
|
+
check_results(results, default_per_page, funds_type)
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
context 'having specified filters' do
|
81
|
+
per_page = 3
|
82
|
+
results = MangoApi::ClientWallets.of_funds_type(funds_type) do |filter|
|
83
|
+
filter.page = 1
|
84
|
+
filter.per_page = per_page
|
85
|
+
filter.sort_field = MangoPay::SortField::CREATION_DATE
|
86
|
+
filter.sort_direction = MangoPay::SortDirection::ASC
|
87
|
+
end
|
88
|
+
|
89
|
+
it 'retrieves list according to provided parameters' do
|
90
|
+
check_results(results, per_page, funds_type)
|
91
|
+
results.each.with_index do |result, index|
|
92
|
+
next if index == results.length - 1
|
93
|
+
first_date = result.creation_date
|
94
|
+
second_date = results[index + 1].creation_date
|
95
|
+
expect(first_date <= second_date).to be_truthy
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
describe '#CREDIT' do
|
102
|
+
funds_type = MangoModel::FundsType::FEES
|
103
|
+
MangoApi::ClientWallets.get(funds_type, MangoModel::CurrencyIso::FKP)
|
104
|
+
MangoApi::ClientWallets.get(funds_type, MangoModel::CurrencyIso::LAK)
|
105
|
+
MangoApi::ClientWallets.get(funds_type, MangoModel::CurrencyIso::MMK)
|
106
|
+
MangoApi::ClientWallets.get(funds_type, MangoModel::CurrencyIso::NOK)
|
107
|
+
MangoApi::ClientWallets.get(funds_type, MangoModel::CurrencyIso::XBA)
|
108
|
+
|
109
|
+
context 'not having specified filters' do
|
110
|
+
it 'retrieves list with default parameters' do
|
111
|
+
results = MangoApi::ClientWallets.of_funds_type(funds_type)
|
112
|
+
|
113
|
+
check_results(results, default_per_page, funds_type)
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
context 'having specified filters' do
|
118
|
+
per_page = 3
|
119
|
+
results = MangoApi::ClientWallets.of_funds_type(funds_type) do |filter|
|
120
|
+
filter.page = 1
|
121
|
+
filter.per_page = per_page
|
122
|
+
filter.sort_field = MangoPay::SortField::CREATION_DATE
|
123
|
+
filter.sort_direction = MangoPay::SortDirection::ASC
|
124
|
+
end
|
125
|
+
|
126
|
+
it 'retrieves list according to provided parameters' do
|
127
|
+
check_results(results, per_page, funds_type)
|
128
|
+
results.each.with_index do |result, index|
|
129
|
+
next if index == results.length - 1
|
130
|
+
first_date = result.creation_date
|
131
|
+
second_date = results[index + 1].creation_date
|
132
|
+
expect(first_date <= second_date).to be_truthy
|
133
|
+
end
|
134
|
+
end
|
135
|
+
end
|
136
|
+
end
|
137
|
+
end
|
138
|
+
end
|
139
|
+
|
140
|
+
# noinspection RubyResolve
|
141
|
+
def check_results(results, per_page, funds_type)
|
142
|
+
expect(results).to be_kind_of Array
|
143
|
+
expect(results.length).to eq per_page
|
144
|
+
results.each do |result|
|
145
|
+
expect(result).to be_kind_of MangoModel::ClientWallet
|
146
|
+
expect(result.funds_type).to be funds_type
|
147
|
+
end
|
148
148
|
end
|