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,38 @@
|
|
1
|
-
require_relative '../context/transfer_context'
|
2
|
-
require_relative '../../lib/mangopay/api/service/transfers'
|
3
|
-
|
4
|
-
describe MangoApi::Transfers do
|
5
|
-
include_context 'transfer_context'
|
6
|
-
|
7
|
-
describe '.create' do
|
8
|
-
|
9
|
-
context 'given a valid object' do
|
10
|
-
transfer = TRANSFER_DATA
|
11
|
-
|
12
|
-
it 'creates the transfer entity' do
|
13
|
-
created = MangoApi::Transfers.create transfer
|
14
|
-
|
15
|
-
expect(created).to be_kind_of MangoModel::Transfer
|
16
|
-
expect(created.id).not_to be_nil
|
17
|
-
debited = created.debited_funds.amount
|
18
|
-
fees = created.fees.amount
|
19
|
-
credited = created.credited_funds.amount
|
20
|
-
expect(debited - fees == credited).to be_truthy
|
21
|
-
expect(its_the_same_transfer(transfer, created)).to be_truthy
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
context "given an existing entity's ID" do
|
27
|
-
created = TRANSFER_PERSISTED
|
28
|
-
id = created.id
|
29
|
-
|
30
|
-
it 'retrieves the corresponding entity' do
|
31
|
-
retrieved = MangoApi::Transfers.get id
|
32
|
-
|
33
|
-
expect(retrieved).to be_kind_of MangoModel::Transfer
|
34
|
-
expect(retrieved.id).to eq id
|
35
|
-
expect(its_the_same_transfer(created, retrieved)).to be_truthy
|
36
|
-
end
|
37
|
-
end
|
1
|
+
require_relative '../context/transfer_context'
|
2
|
+
require_relative '../../lib/mangopay/api/service/transfers'
|
3
|
+
|
4
|
+
describe MangoApi::Transfers do
|
5
|
+
include_context 'transfer_context'
|
6
|
+
|
7
|
+
describe '.create' do
|
8
|
+
|
9
|
+
context 'given a valid object' do
|
10
|
+
transfer = TRANSFER_DATA
|
11
|
+
|
12
|
+
it 'creates the transfer entity' do
|
13
|
+
created = MangoApi::Transfers.create transfer
|
14
|
+
|
15
|
+
expect(created).to be_kind_of MangoModel::Transfer
|
16
|
+
expect(created.id).not_to be_nil
|
17
|
+
debited = created.debited_funds.amount
|
18
|
+
fees = created.fees.amount
|
19
|
+
credited = created.credited_funds.amount
|
20
|
+
expect(debited - fees == credited).to be_truthy
|
21
|
+
expect(its_the_same_transfer(transfer, created)).to be_truthy
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
context "given an existing entity's ID" do
|
27
|
+
created = TRANSFER_PERSISTED
|
28
|
+
id = created.id
|
29
|
+
|
30
|
+
it 'retrieves the corresponding entity' do
|
31
|
+
retrieved = MangoApi::Transfers.get id
|
32
|
+
|
33
|
+
expect(retrieved).to be_kind_of MangoModel::Transfer
|
34
|
+
expect(retrieved.id).to eq id
|
35
|
+
expect(its_the_same_transfer(created, retrieved)).to be_truthy
|
36
|
+
end
|
37
|
+
end
|
38
38
|
end
|
@@ -1,65 +1,128 @@
|
|
1
|
-
require_relative '../../lib/mangopay/api/service/ubo_declarations'
|
2
|
-
require_relative '../context/ubo_declaration_context'
|
3
|
-
require_relative '../../lib/mangopay/model/enum/ubo_declaration_status'
|
4
|
-
|
5
|
-
describe MangoApi::UboDeclarations do
|
6
|
-
include_context 'ubo_declaration_context'
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
expect(created
|
19
|
-
created.
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
1
|
+
require_relative '../../lib/mangopay/api/service/ubo_declarations'
|
2
|
+
require_relative '../context/ubo_declaration_context'
|
3
|
+
require_relative '../../lib/mangopay/model/enum/ubo_declaration_status'
|
4
|
+
|
5
|
+
describe MangoApi::UboDeclarations do
|
6
|
+
include_context 'ubo_declaration_context'
|
7
|
+
|
8
|
+
LEGAL_USER = persist_user(build_legal_user)
|
9
|
+
UBO_DECLARATION = persist_ubo_declaration(LEGAL_USER.id)
|
10
|
+
UBO = persist_ubo(LEGAL_USER.id, UBO_DECLARATION.id)
|
11
|
+
|
12
|
+
describe '.create_ubo_declarations' do
|
13
|
+
|
14
|
+
context 'given a valid user' do
|
15
|
+
it 'creates the UBO declaration entity' do
|
16
|
+
created = UBO_DECLARATION
|
17
|
+
|
18
|
+
expect(created).to be_kind_of MangoModel::UboDeclaration
|
19
|
+
expect(created.status).to be MangoModel::UboDeclarationStatus::CREATED
|
20
|
+
expect(created.id).not_to be_nil
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
describe '.all' do
|
26
|
+
|
27
|
+
context 'get all ubo declarations' do
|
28
|
+
user = LEGAL_USER
|
29
|
+
created = UBO_DECLARATION
|
30
|
+
it 'get all ubo declarations' do
|
31
|
+
list = MangoApi::UboDeclarations.get_all(user.id)
|
32
|
+
|
33
|
+
expect(list).to be_kind_of Array
|
34
|
+
expect(list.length).to eq 1
|
35
|
+
expect(list[0]).to be_kind_of MangoModel::UboDeclaration
|
36
|
+
expect(list[0].id).to eq created.id
|
37
|
+
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
describe '.get one ubo declaration' do
|
43
|
+
context 'get an ubo declaration' do
|
44
|
+
user = LEGAL_USER
|
45
|
+
ubo_declaration = UBO_DECLARATION
|
46
|
+
it 'retrieves an ubo declaration with and without user id' do
|
47
|
+
response1 = MangoApi::UboDeclarations.get(user.id, ubo_declaration.id)
|
48
|
+
response2 = MangoApi::UboDeclarations.get(nil, ubo_declaration.id)
|
49
|
+
|
50
|
+
expect(response1).to be_kind_of MangoModel::UboDeclaration
|
51
|
+
expect(response1.id).to eq ubo_declaration.id
|
52
|
+
expect(response2).to be_kind_of MangoModel::UboDeclaration
|
53
|
+
expect(response2.id).to eq ubo_declaration.id
|
54
|
+
expect(response1.id).to eq response2.id
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
describe '.create ubo' do
|
60
|
+
|
61
|
+
context 'given an existing ubo declarations' do
|
62
|
+
ubo_declaration = UBO_DECLARATION
|
63
|
+
user = LEGAL_USER
|
64
|
+
|
65
|
+
it 'add ubo to the corresponding ubo declaration' do
|
66
|
+
ubo = build_ubo
|
67
|
+
response = MangoApi::UboDeclarations.create_ubo(user.id, ubo_declaration.id, ubo)
|
68
|
+
|
69
|
+
expect(response).to be_kind_of MangoModel::Ubo
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
describe '.get ubo' do
|
75
|
+
context 'given an existing ubo' do
|
76
|
+
user = LEGAL_USER
|
77
|
+
ubo_declaration = UBO_DECLARATION
|
78
|
+
ubo = UBO
|
79
|
+
it 'should retrieve an ubo by his id' do
|
80
|
+
response = MangoApi::UboDeclarations.get_ubo(user.id, ubo_declaration.id, ubo.id)
|
81
|
+
|
82
|
+
expect(response).to be_kind_of MangoModel::Ubo
|
83
|
+
expect(response.id).to eq ubo.id
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
describe '.update ubo' do
|
89
|
+
|
90
|
+
context 'given an existing ubo declaration' do
|
91
|
+
ubo_declaration = UBO_DECLARATION
|
92
|
+
user = LEGAL_USER
|
93
|
+
ubo = UBO
|
94
|
+
it 'should update the ubo' do
|
95
|
+
ubo.first_name = "updated_first_name"
|
96
|
+
ubo.last_name = "updated_last_name"
|
97
|
+
ubo.nationality = MangoModel::CountryIso::GB
|
98
|
+
ubo.is_active = true
|
99
|
+
|
100
|
+
updated_ubo = MangoApi::UboDeclarations.update_ubo(user.id, ubo_declaration.id, ubo)
|
101
|
+
|
102
|
+
expect(updated_ubo).to be_kind_of MangoModel::Ubo
|
103
|
+
expect(updated_ubo.id).to eq ubo.id
|
104
|
+
expect(updated_ubo.first_name).to eq ubo.first_name
|
105
|
+
expect(updated_ubo.last_name).to eq ubo.last_name
|
106
|
+
expect(updated_ubo.nationality).to eq ubo.nationality
|
107
|
+
expect(updated_ubo.is_active).to eq true
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
describe '.submit' do
|
113
|
+
|
114
|
+
context "given an existing entity's ID" do
|
115
|
+
created = UBO_DECLARATION
|
116
|
+
user = LEGAL_USER
|
117
|
+
id = created.id
|
118
|
+
|
119
|
+
it 'submits the corresponding entity for approval' do
|
120
|
+
submitted = MangoApi::UboDeclarations.submit user.id, id
|
121
|
+
|
122
|
+
expect(submitted).to be_kind_of MangoModel::UboDeclaration
|
123
|
+
expect(submitted.id).to eq id
|
124
|
+
expect(submitted.status).to be MangoModel::UboDeclarationStatus::VALIDATION_ASKED
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
65
128
|
end
|
data/spec/mangopay/users_spec.rb
CHANGED
@@ -1,146 +1,146 @@
|
|
1
|
-
require_relative '../context/user_context'
|
2
|
-
require_relative '../../lib/mangopay/api/service/users'
|
3
|
-
require_relative '../../lib/mangopay/common/sort_direction'
|
4
|
-
require_relative '../../lib/mangopay/common/sort_field'
|
5
|
-
|
6
|
-
describe MangoApi::Users do
|
7
|
-
include_context 'user_context'
|
8
|
-
|
9
|
-
describe '.create' do
|
10
|
-
|
11
|
-
describe '#Natural' do
|
12
|
-
context 'given a valid object' do
|
13
|
-
user = NATURAL_USER_DATA
|
14
|
-
|
15
|
-
it 'creates the natural user entity' do
|
16
|
-
created = persist_user user
|
17
|
-
|
18
|
-
expect(created).to be_kind_of MangoModel::NaturalUser
|
19
|
-
expect(created.id).not_to be_nil
|
20
|
-
expect(its_the_same_user(user, created)).to be_truthy
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
describe '#Legal' do
|
26
|
-
context 'given a valid object' do
|
27
|
-
user = LEGAL_USER_DATA
|
28
|
-
|
29
|
-
it 'creates the legal user entity' do
|
30
|
-
persisted = persist_user user
|
31
|
-
|
32
|
-
expect(persisted).to be_kind_of MangoModel::LegalUser
|
33
|
-
expect(persisted.id).not_to be_nil
|
34
|
-
expect(its_the_same_user(user, persisted)).to be_truthy
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
describe '.update' do
|
41
|
-
updated_value = 'Updated'.freeze
|
42
|
-
|
43
|
-
describe '#Natural' do
|
44
|
-
context 'given a valid object' do
|
45
|
-
created = NATURAL_USER_PERSISTED
|
46
|
-
created.first_name = updated_value
|
47
|
-
|
48
|
-
it 'updates the corresponding entity' do
|
49
|
-
updated = MangoApi::Users.update created
|
50
|
-
|
51
|
-
expect(updated).to be_kind_of MangoModel::NaturalUser
|
52
|
-
expect(updated.id).to eq created.id
|
53
|
-
expect(updated.first_name).to eq updated_value
|
54
|
-
expect(its_the_same_user(created, updated)).to be_truthy
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
describe '#Legal' do
|
60
|
-
context 'given a valid object' do
|
61
|
-
created = LEGAL_USER_PERSISTED
|
62
|
-
created.name = updated_value
|
63
|
-
|
64
|
-
it 'updates the corresponding entity' do
|
65
|
-
updated = MangoApi::Users.update created
|
66
|
-
|
67
|
-
expect(updated).to be_kind_of MangoModel::LegalUser
|
68
|
-
expect(updated.id).to eq created.id
|
69
|
-
expect(updated.name).to eq updated_value
|
70
|
-
expect(its_the_same_user(created, updated)).to be_truthy
|
71
|
-
end
|
72
|
-
end
|
73
|
-
end
|
74
|
-
end
|
75
|
-
|
76
|
-
describe '.get' do
|
77
|
-
|
78
|
-
describe '#Natural' do
|
79
|
-
context "given an existing entity's ID" do
|
80
|
-
created = NATURAL_USER_PERSISTED
|
81
|
-
id = created.id
|
82
|
-
|
83
|
-
it 'retrieves the corresponding entity' do
|
84
|
-
retrieved = MangoApi::Users.get id
|
85
|
-
|
86
|
-
expect(retrieved).to be_kind_of MangoModel::NaturalUser
|
87
|
-
expect(retrieved.id).to eq id
|
88
|
-
expect(its_the_same_user(created, retrieved)).to be_truthy
|
89
|
-
end
|
90
|
-
end
|
91
|
-
end
|
92
|
-
|
93
|
-
describe '#Legal' do
|
94
|
-
context "given an existing entity's ID" do
|
95
|
-
created = LEGAL_USER_PERSISTED
|
96
|
-
id = created.id
|
97
|
-
|
98
|
-
it 'retrieves the corresponding entity' do
|
99
|
-
retrieved = MangoApi::Users.get id
|
100
|
-
|
101
|
-
expect(retrieved).to be_kind_of MangoModel::LegalUser
|
102
|
-
expect(retrieved.id).to eq id
|
103
|
-
expect(its_the_same_user(created, retrieved)).to be_truthy
|
104
|
-
end
|
105
|
-
end
|
106
|
-
end
|
107
|
-
end
|
108
|
-
|
109
|
-
describe '.all' do
|
110
|
-
default_per_page = 10
|
111
|
-
|
112
|
-
context 'not having specified filters' do
|
113
|
-
results = MangoApi::Users.all
|
114
|
-
|
115
|
-
it 'retrieves list with default parameters' do
|
116
|
-
expect(results).to be_kind_of Array
|
117
|
-
expect(results.length).to eq default_per_page
|
118
|
-
results.each do |result|
|
119
|
-
expect(result).to be_kind_of MangoModel::User
|
120
|
-
end
|
121
|
-
end
|
122
|
-
end
|
123
|
-
|
124
|
-
context 'having specified filters' do
|
125
|
-
per_page = 15
|
126
|
-
results = MangoApi::Users.all do |filter|
|
127
|
-
filter.page = 1
|
128
|
-
filter.per_page = per_page
|
129
|
-
filter.sort_field = MangoPay::SortField::CREATION_DATE
|
130
|
-
filter.sort_direction = MangoPay::SortDirection::ASC
|
131
|
-
end
|
132
|
-
|
133
|
-
it 'retrieves list according to provided parameters' do
|
134
|
-
expect(results).to be_kind_of Array
|
135
|
-
expect(results.length).to eq per_page
|
136
|
-
results.each.with_index do |result, index|
|
137
|
-
expect(result).to be_kind_of MangoModel::User
|
138
|
-
next if index == results.length - 1
|
139
|
-
first_date = result.creation_date
|
140
|
-
second_date = results[index + 1].creation_date
|
141
|
-
expect(first_date <= second_date).to be_truthy
|
142
|
-
end
|
143
|
-
end
|
144
|
-
end
|
145
|
-
end
|
1
|
+
require_relative '../context/user_context'
|
2
|
+
require_relative '../../lib/mangopay/api/service/users'
|
3
|
+
require_relative '../../lib/mangopay/common/sort_direction'
|
4
|
+
require_relative '../../lib/mangopay/common/sort_field'
|
5
|
+
|
6
|
+
describe MangoApi::Users do
|
7
|
+
include_context 'user_context'
|
8
|
+
|
9
|
+
describe '.create' do
|
10
|
+
|
11
|
+
describe '#Natural' do
|
12
|
+
context 'given a valid object' do
|
13
|
+
user = NATURAL_USER_DATA
|
14
|
+
|
15
|
+
it 'creates the natural user entity' do
|
16
|
+
created = persist_user user
|
17
|
+
|
18
|
+
expect(created).to be_kind_of MangoModel::NaturalUser
|
19
|
+
expect(created.id).not_to be_nil
|
20
|
+
expect(its_the_same_user(user, created)).to be_truthy
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
describe '#Legal' do
|
26
|
+
context 'given a valid object' do
|
27
|
+
user = LEGAL_USER_DATA
|
28
|
+
|
29
|
+
it 'creates the legal user entity' do
|
30
|
+
persisted = persist_user user
|
31
|
+
|
32
|
+
expect(persisted).to be_kind_of MangoModel::LegalUser
|
33
|
+
expect(persisted.id).not_to be_nil
|
34
|
+
expect(its_the_same_user(user, persisted)).to be_truthy
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
describe '.update' do
|
41
|
+
updated_value = 'Updated'.freeze
|
42
|
+
|
43
|
+
describe '#Natural' do
|
44
|
+
context 'given a valid object' do
|
45
|
+
created = NATURAL_USER_PERSISTED
|
46
|
+
created.first_name = updated_value
|
47
|
+
|
48
|
+
it 'updates the corresponding entity' do
|
49
|
+
updated = MangoApi::Users.update created
|
50
|
+
|
51
|
+
expect(updated).to be_kind_of MangoModel::NaturalUser
|
52
|
+
expect(updated.id).to eq created.id
|
53
|
+
expect(updated.first_name).to eq updated_value
|
54
|
+
expect(its_the_same_user(created, updated)).to be_truthy
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
describe '#Legal' do
|
60
|
+
context 'given a valid object' do
|
61
|
+
created = LEGAL_USER_PERSISTED
|
62
|
+
created.name = updated_value
|
63
|
+
|
64
|
+
it 'updates the corresponding entity' do
|
65
|
+
updated = MangoApi::Users.update created
|
66
|
+
|
67
|
+
expect(updated).to be_kind_of MangoModel::LegalUser
|
68
|
+
expect(updated.id).to eq created.id
|
69
|
+
expect(updated.name).to eq updated_value
|
70
|
+
expect(its_the_same_user(created, updated)).to be_truthy
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
describe '.get' do
|
77
|
+
|
78
|
+
describe '#Natural' do
|
79
|
+
context "given an existing entity's ID" do
|
80
|
+
created = NATURAL_USER_PERSISTED
|
81
|
+
id = created.id
|
82
|
+
|
83
|
+
it 'retrieves the corresponding entity' do
|
84
|
+
retrieved = MangoApi::Users.get id
|
85
|
+
|
86
|
+
expect(retrieved).to be_kind_of MangoModel::NaturalUser
|
87
|
+
expect(retrieved.id).to eq id
|
88
|
+
expect(its_the_same_user(created, retrieved)).to be_truthy
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
describe '#Legal' do
|
94
|
+
context "given an existing entity's ID" do
|
95
|
+
created = LEGAL_USER_PERSISTED
|
96
|
+
id = created.id
|
97
|
+
|
98
|
+
it 'retrieves the corresponding entity' do
|
99
|
+
retrieved = MangoApi::Users.get id
|
100
|
+
|
101
|
+
expect(retrieved).to be_kind_of MangoModel::LegalUser
|
102
|
+
expect(retrieved.id).to eq id
|
103
|
+
expect(its_the_same_user(created, retrieved)).to be_truthy
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
describe '.all' do
|
110
|
+
default_per_page = 10
|
111
|
+
|
112
|
+
context 'not having specified filters' do
|
113
|
+
results = MangoApi::Users.all
|
114
|
+
|
115
|
+
it 'retrieves list with default parameters' do
|
116
|
+
expect(results).to be_kind_of Array
|
117
|
+
expect(results.length).to eq default_per_page
|
118
|
+
results.each do |result|
|
119
|
+
expect(result).to be_kind_of MangoModel::User
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
context 'having specified filters' do
|
125
|
+
per_page = 15
|
126
|
+
results = MangoApi::Users.all do |filter|
|
127
|
+
filter.page = 1
|
128
|
+
filter.per_page = per_page
|
129
|
+
filter.sort_field = MangoPay::SortField::CREATION_DATE
|
130
|
+
filter.sort_direction = MangoPay::SortDirection::ASC
|
131
|
+
end
|
132
|
+
|
133
|
+
it 'retrieves list according to provided parameters' do
|
134
|
+
expect(results).to be_kind_of Array
|
135
|
+
expect(results.length).to eq per_page
|
136
|
+
results.each.with_index do |result, index|
|
137
|
+
expect(result).to be_kind_of MangoModel::User
|
138
|
+
next if index == results.length - 1
|
139
|
+
first_date = result.creation_date
|
140
|
+
second_date = results[index + 1].creation_date
|
141
|
+
expect(first_date <= second_date).to be_truthy
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
145
|
+
end
|
146
146
|
end
|