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,25 +1,30 @@
|
|
1
|
-
require_relative 'user_context'
|
2
|
-
require_relative '../../lib/mangopay/model/entity/ubo_declaration'
|
3
|
-
require_relative '../../lib/mangopay/api/service/ubo_declarations'
|
4
|
-
require_relative '../../lib/mangopay/model/
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
end
|
12
|
-
|
13
|
-
def persist_ubo_declaration(
|
14
|
-
MangoApi::UboDeclarations.create(
|
15
|
-
end
|
16
|
-
|
17
|
-
def
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
1
|
+
require_relative 'user_context'
|
2
|
+
require_relative '../../lib/mangopay/model/entity/ubo_declaration'
|
3
|
+
require_relative '../../lib/mangopay/api/service/ubo_declarations'
|
4
|
+
require_relative '../../lib/mangopay/model/entity/ubo'
|
5
|
+
require_relative '../../lib/mangopay/model/enum/natural_user_capacity'
|
6
|
+
require_relative 'birthplace_context'
|
7
|
+
|
8
|
+
shared_context 'ubo_declaration_context' do
|
9
|
+
include_context 'user_context'
|
10
|
+
include_context 'birthplace_context'
|
11
|
+
end
|
12
|
+
|
13
|
+
def persist_ubo_declaration(user_id)
|
14
|
+
MangoApi::UboDeclarations.create(user_id)
|
15
|
+
end
|
16
|
+
|
17
|
+
def persist_ubo(user_id, ubo_declaration_id)
|
18
|
+
MangoApi::UboDeclarations.create_ubo(user_id, ubo_declaration_id, build_ubo)
|
19
|
+
end
|
20
|
+
|
21
|
+
def build_ubo
|
22
|
+
ubo = MangoModel::Ubo.new
|
23
|
+
ubo.first_name = "First"
|
24
|
+
ubo.last_name = "Last"
|
25
|
+
ubo.address = build_address
|
26
|
+
ubo.nationality = MangoModel::CountryIso::FR
|
27
|
+
ubo.birthday = 105_102_394
|
28
|
+
ubo.birthplace = build_birthplace
|
29
|
+
ubo
|
25
30
|
end
|
@@ -1,83 +1,84 @@
|
|
1
|
-
require_relative 'address_context'
|
2
|
-
|
3
|
-
shared_context 'user_context' do
|
4
|
-
include_context 'address_context'
|
5
|
-
|
6
|
-
NATURAL_USER_DATA ||= build_natural_user
|
7
|
-
LEGAL_USER_DATA ||= build_legal_user
|
8
|
-
NATURAL_USER_PERSISTED ||= persist_user NATURAL_USER_DATA
|
9
|
-
LEGAL_USER_PERSISTED ||= persist_user LEGAL_USER_DATA
|
10
|
-
|
11
|
-
let(:new_natural_user_persisted) { persist_user NATURAL_USER_DATA }
|
12
|
-
let(:new_legal_user_persisted) { persist_user LEGAL_USER_DATA }
|
13
|
-
end
|
14
|
-
|
15
|
-
def persist_user(user)
|
16
|
-
MangoApi::Users.create user
|
17
|
-
end
|
18
|
-
|
19
|
-
def build_natural_user
|
20
|
-
nat_user = MangoModel::NaturalUser.new
|
21
|
-
nat_user.kyc_level = MangoModel::KycLevel::LIGHT
|
22
|
-
nat_user.email = 'hello@moto.com'
|
23
|
-
nat_user.first_name = 'Hi'
|
24
|
-
nat_user.last_name = 'Bye'
|
25
|
-
nat_user.address = build_address
|
26
|
-
nat_user.birthday = 105_102_394
|
27
|
-
nat_user.nationality = MangoModel::CountryIso::
|
28
|
-
nat_user.country_of_residence = MangoModel::CountryIso::
|
29
|
-
nat_user.occupation = '
|
30
|
-
nat_user.income_range = MangoModel::IncomeRange::
|
31
|
-
nat_user
|
32
|
-
end
|
33
|
-
|
34
|
-
def build_legal_user
|
35
|
-
leg_user = MangoModel::LegalUser.new
|
36
|
-
leg_user.email =
|
37
|
-
leg_user.legal_person_type = MangoModel::LegalPersonType::BUSINESS
|
38
|
-
leg_user.name = '
|
39
|
-
leg_user.headquarters_address = build_address
|
40
|
-
leg_user.legal_representative_first_name =
|
41
|
-
leg_user.legal_representative_last_name =
|
42
|
-
leg_user.legal_representative_address =
|
43
|
-
leg_user.legal_representative_email =
|
44
|
-
leg_user.
|
45
|
-
leg_user.
|
46
|
-
leg_user.
|
47
|
-
leg_user
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
end
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
1
|
+
require_relative 'address_context'
|
2
|
+
|
3
|
+
shared_context 'user_context' do
|
4
|
+
include_context 'address_context'
|
5
|
+
|
6
|
+
NATURAL_USER_DATA ||= build_natural_user
|
7
|
+
LEGAL_USER_DATA ||= build_legal_user
|
8
|
+
NATURAL_USER_PERSISTED ||= persist_user NATURAL_USER_DATA
|
9
|
+
LEGAL_USER_PERSISTED ||= persist_user LEGAL_USER_DATA
|
10
|
+
|
11
|
+
let(:new_natural_user_persisted) { persist_user NATURAL_USER_DATA }
|
12
|
+
let(:new_legal_user_persisted) { persist_user LEGAL_USER_DATA }
|
13
|
+
end
|
14
|
+
|
15
|
+
def persist_user(user)
|
16
|
+
MangoApi::Users.create user
|
17
|
+
end
|
18
|
+
|
19
|
+
def build_natural_user
|
20
|
+
nat_user = MangoModel::NaturalUser.new
|
21
|
+
nat_user.kyc_level = MangoModel::KycLevel::LIGHT
|
22
|
+
nat_user.email = 'hello@moto.com'
|
23
|
+
nat_user.first_name = 'Hi'
|
24
|
+
nat_user.last_name = 'Bye'
|
25
|
+
nat_user.address = build_address
|
26
|
+
nat_user.birthday = 105_102_394
|
27
|
+
nat_user.nationality = MangoModel::CountryIso::FR
|
28
|
+
nat_user.country_of_residence = MangoModel::CountryIso::FR
|
29
|
+
nat_user.occupation = 'programmer'
|
30
|
+
nat_user.income_range = MangoModel::IncomeRange::BETWEEN_30_50
|
31
|
+
nat_user
|
32
|
+
end
|
33
|
+
|
34
|
+
def build_legal_user
|
35
|
+
leg_user = MangoModel::LegalUser.new
|
36
|
+
leg_user.email = NATURAL_USER_DATA.email
|
37
|
+
leg_user.legal_person_type = MangoModel::LegalPersonType::BUSINESS
|
38
|
+
leg_user.name = 'MartixSampleOrg'
|
39
|
+
leg_user.headquarters_address = build_address
|
40
|
+
leg_user.legal_representative_first_name = NATURAL_USER_DATA.first_name
|
41
|
+
leg_user.legal_representative_last_name = NATURAL_USER_DATA.last_name
|
42
|
+
leg_user.legal_representative_address = NATURAL_USER_DATA.address
|
43
|
+
leg_user.legal_representative_email = NATURAL_USER_DATA.email
|
44
|
+
leg_user.company_number = 'LU12345678'
|
45
|
+
leg_user.legal_representative_birthday = NATURAL_USER_DATA.birthday
|
46
|
+
leg_user.legal_representative_nationality = NATURAL_USER_DATA.nationality
|
47
|
+
leg_user.legal_representative_country_of_residence = NATURAL_USER_DATA.country_of_residence
|
48
|
+
leg_user
|
49
|
+
end
|
50
|
+
|
51
|
+
def its_the_same_user(user1, user2)
|
52
|
+
if user1.is_a? MangoModel::NaturalUser
|
53
|
+
its_the_same_natural(user1, user2)
|
54
|
+
else
|
55
|
+
its_the_same_legal(user1, user2)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
def its_the_same_natural(user1, user2)
|
60
|
+
user1.kyc_level.eql?(user2.kyc_level)\
|
61
|
+
&& user1.email == user2.email\
|
62
|
+
&& user1.first_name == user2.first_name\
|
63
|
+
&& user1.last_name == user2.last_name\
|
64
|
+
&& its_the_same_address(user1.address, user2.address)\
|
65
|
+
&& user1.birthday == user2.birthday\
|
66
|
+
&& user1.nationality.eql?(user2.nationality)\
|
67
|
+
&& user1.country_of_residence.eql?(user2.country_of_residence)\
|
68
|
+
&& user1.occupation == user2.occupation\
|
69
|
+
&& user1.income_range == user2.income_range
|
70
|
+
end
|
71
|
+
|
72
|
+
def its_the_same_legal(user1, user2)
|
73
|
+
user1.email == user2.email\
|
74
|
+
&& user1.legal_person_type.eql?(user2.legal_person_type)\
|
75
|
+
&& user1.name == user2.name\
|
76
|
+
&& its_the_same_address(user1.headquarters_address, user2.headquarters_address)\
|
77
|
+
&& user1.legal_representative_first_name == user2.legal_representative_first_name\
|
78
|
+
&& user1.legal_representative_last_name == user2.legal_representative_last_name\
|
79
|
+
&& its_the_same_address(user1.legal_representative_address, user2.legal_representative_address)\
|
80
|
+
&& user1.legal_representative_email == user2.legal_representative_email\
|
81
|
+
&& user1.legal_representative_birthday == user2.legal_representative_birthday\
|
82
|
+
&& user1.legal_representative_nationality == user2.legal_representative_nationality\
|
83
|
+
&& user1.legal_representative_country_of_residence.eql?(user2.legal_representative_country_of_residence)
|
83
84
|
end
|
@@ -1,53 +1,53 @@
|
|
1
|
-
require_relative 'user_context'
|
2
|
-
require_relative 'card_context'
|
3
|
-
require_relative '../../lib/mangopay/model/entity/wallet'
|
4
|
-
require_relative '../../lib/mangopay/model/entity/pay_in/card_direct_pay_in'
|
5
|
-
require_relative '../../lib/mangopay/api/service/wallets'
|
6
|
-
require_relative '../../lib/mangopay/api/service/pay_ins'
|
7
|
-
|
8
|
-
shared_context 'wallet_context' do
|
9
|
-
include_context 'user_context'
|
10
|
-
include_context 'card_context'
|
11
|
-
|
12
|
-
WALLET_DATA ||= build_wallet
|
13
|
-
WALLET_PERSISTED ||= persist_wallet WALLET_DATA
|
14
|
-
|
15
|
-
let(:new_wallet_persisted) { persist_wallet WALLET_DATA }
|
16
|
-
end
|
17
|
-
|
18
|
-
def persist_wallet(wallet)
|
19
|
-
created = MangoApi::Wallets.create wallet
|
20
|
-
pay_in = MangoModel::CardDirectPayIn.new
|
21
|
-
pay_in.author_id = NATURAL_USER_PERSISTED.id
|
22
|
-
pay_in.credited_user_id = NATURAL_USER_PERSISTED.id
|
23
|
-
pay_in.credited_wallet_id = created.id
|
24
|
-
pay_in.debited_funds = MangoModel::Money.new
|
25
|
-
pay_in.debited_funds.currency = MangoModel::CurrencyIso::EUR
|
26
|
-
pay_in.debited_funds.amount = 10_000
|
27
|
-
pay_in.fees = MangoModel::Money.new
|
28
|
-
pay_in.fees.currency = MangoModel::CurrencyIso::EUR
|
29
|
-
pay_in.fees.amount = 30
|
30
|
-
pay_in.secure_mode_return_url = 'http://www.my-site.com/returnURL/'
|
31
|
-
pay_in.card_id = CARD.id
|
32
|
-
pay_in.secure_mode = MangoModel::SecureMode::DEFAULT
|
33
|
-
pay_in.statement_descriptor = 'Mar2016'
|
34
|
-
MangoApi::PayIns.create_card_direct pay_in
|
35
|
-
created
|
36
|
-
end
|
37
|
-
|
38
|
-
def build_wallet
|
39
|
-
wallet = MangoModel::Wallet.new
|
40
|
-
wallet.owners = [NATURAL_USER_PERSISTED.id]
|
41
|
-
wallet.description = 'Just a wallet'
|
42
|
-
wallet.currency = MangoModel::CurrencyIso::EUR
|
43
|
-
wallet
|
44
|
-
end
|
45
|
-
|
46
|
-
def its_the_same_wallet(wallet1, wallet2)
|
47
|
-
return false unless wallet1.owners.length == wallet2.owners.length
|
48
|
-
wallet1.owners.each do |owner_id|
|
49
|
-
return false unless wallet2.owners.include? owner_id
|
50
|
-
end
|
51
|
-
wallet1.description == wallet2.description\
|
52
|
-
&& wallet1.currency.eql?(wallet2.currency)
|
1
|
+
require_relative 'user_context'
|
2
|
+
require_relative 'card_context'
|
3
|
+
require_relative '../../lib/mangopay/model/entity/wallet'
|
4
|
+
require_relative '../../lib/mangopay/model/entity/pay_in/card_direct_pay_in'
|
5
|
+
require_relative '../../lib/mangopay/api/service/wallets'
|
6
|
+
require_relative '../../lib/mangopay/api/service/pay_ins'
|
7
|
+
|
8
|
+
shared_context 'wallet_context' do
|
9
|
+
include_context 'user_context'
|
10
|
+
include_context 'card_context'
|
11
|
+
|
12
|
+
WALLET_DATA ||= build_wallet
|
13
|
+
WALLET_PERSISTED ||= persist_wallet WALLET_DATA
|
14
|
+
|
15
|
+
let(:new_wallet_persisted) { persist_wallet WALLET_DATA }
|
16
|
+
end
|
17
|
+
|
18
|
+
def persist_wallet(wallet)
|
19
|
+
created = MangoApi::Wallets.create wallet
|
20
|
+
pay_in = MangoModel::CardDirectPayIn.new
|
21
|
+
pay_in.author_id = NATURAL_USER_PERSISTED.id
|
22
|
+
pay_in.credited_user_id = NATURAL_USER_PERSISTED.id
|
23
|
+
pay_in.credited_wallet_id = created.id
|
24
|
+
pay_in.debited_funds = MangoModel::Money.new
|
25
|
+
pay_in.debited_funds.currency = MangoModel::CurrencyIso::EUR
|
26
|
+
pay_in.debited_funds.amount = 10_000
|
27
|
+
pay_in.fees = MangoModel::Money.new
|
28
|
+
pay_in.fees.currency = MangoModel::CurrencyIso::EUR
|
29
|
+
pay_in.fees.amount = 30
|
30
|
+
pay_in.secure_mode_return_url = 'http://www.my-site.com/returnURL/'
|
31
|
+
pay_in.card_id = CARD.id
|
32
|
+
pay_in.secure_mode = MangoModel::SecureMode::DEFAULT
|
33
|
+
pay_in.statement_descriptor = 'Mar2016'
|
34
|
+
MangoApi::PayIns.create_card_direct pay_in
|
35
|
+
created
|
36
|
+
end
|
37
|
+
|
38
|
+
def build_wallet
|
39
|
+
wallet = MangoModel::Wallet.new
|
40
|
+
wallet.owners = [NATURAL_USER_PERSISTED.id]
|
41
|
+
wallet.description = 'Just a wallet'
|
42
|
+
wallet.currency = MangoModel::CurrencyIso::EUR
|
43
|
+
wallet
|
44
|
+
end
|
45
|
+
|
46
|
+
def its_the_same_wallet(wallet1, wallet2)
|
47
|
+
return false unless wallet1.owners.length == wallet2.owners.length
|
48
|
+
wallet1.owners.each do |owner_id|
|
49
|
+
return false unless wallet2.owners.include? owner_id
|
50
|
+
end
|
51
|
+
wallet1.description == wallet2.description\
|
52
|
+
&& wallet1.currency.eql?(wallet2.currency)
|
53
53
|
end
|
@@ -1,229 +1,229 @@
|
|
1
|
-
require_relative '../../lib/mangopay/model/entity/account/bank_account'
|
2
|
-
require_relative '../../spec/context/bank_account_context'
|
3
|
-
require_relative '../../lib/mangopay/api/service/bank_accounts'
|
4
|
-
require_relative '../../lib/mangopay/common/sort_direction'
|
5
|
-
require_relative '../../lib/mangopay/common/sort_field'
|
6
|
-
|
7
|
-
describe MangoApi::BankAccounts do
|
8
|
-
include_context 'bank_account_context'
|
9
|
-
|
10
|
-
describe '.create' do
|
11
|
-
|
12
|
-
describe '#IBAN' do
|
13
|
-
context 'given a valid object' do
|
14
|
-
account = IBAN_ACCOUNT_PERSISTED
|
15
|
-
|
16
|
-
it 'creates the IBAN bank account entity' do
|
17
|
-
expect(account).to be_kind_of MangoModel::IbanBankAccount
|
18
|
-
expect(account.id).not_to be_nil
|
19
|
-
expect(its_the_same_iban(account, IBAN_ACCOUNT_PERSISTED)).to be_truthy
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
describe '#US' do
|
25
|
-
|
26
|
-
describe '#Savings' do
|
27
|
-
context 'given a valid object' do
|
28
|
-
account = US_SAVINGS_ACCOUNT_PERSISTED
|
29
|
-
|
30
|
-
it 'creates the US savings bank account entity' do
|
31
|
-
expect(account).to be_kind_of MangoModel::UsBankAccount
|
32
|
-
expect(account.id).not_to be_nil
|
33
|
-
expect(its_the_same_us(account, US_SAVINGS_ACCOUNT_PERSISTED)).to be_truthy
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
describe '#Checking' do
|
39
|
-
context 'given a valid object' do
|
40
|
-
account = US_CHECKING_ACCOUNT_PERSISTED
|
41
|
-
|
42
|
-
it 'creates the US checking bank account entity' do
|
43
|
-
expect(account).to be_kind_of MangoModel::UsBankAccount
|
44
|
-
expect(account.id).not_to be_nil
|
45
|
-
expect(its_the_same_us(account, US_CHECKING_ACCOUNT_PERSISTED)).to be_truthy
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
describe '#CA' do
|
52
|
-
context 'given a valid object' do
|
53
|
-
account = CA_ACCOUNT_PERSISTED
|
54
|
-
|
55
|
-
it 'creates the CA bank account entity' do
|
56
|
-
expect(account).to be_kind_of MangoModel::CaBankAccount
|
57
|
-
expect(account.id).not_to be_nil
|
58
|
-
expect(its_the_same_ca(account, CA_ACCOUNT_PERSISTED)).to be_truthy
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
describe '#GB' do
|
64
|
-
context 'given a valid object' do
|
65
|
-
account = GB_ACCOUNT_PERSISTED
|
66
|
-
|
67
|
-
it 'creates the GB bank account entity' do
|
68
|
-
expect(account).to be_kind_of MangoModel::GbBankAccount
|
69
|
-
expect(account.id).not_to be_nil
|
70
|
-
expect(its_the_same_gb(account, GB_ACCOUNT_PERSISTED)).to be_truthy
|
71
|
-
end
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
75
|
-
describe '#OTHER' do
|
76
|
-
context 'given a valid object' do
|
77
|
-
account = OTHER_ACCOUNT_PERSISTED
|
78
|
-
|
79
|
-
it 'creates the OTHER bank account entity' do
|
80
|
-
expect(account).to be_kind_of MangoModel::OtherBankAccount
|
81
|
-
expect(account.id).not_to be_nil
|
82
|
-
expect(its_the_same_other(account, OTHER_ACCOUNT_PERSISTED)).to be_truthy
|
83
|
-
end
|
84
|
-
end
|
85
|
-
end
|
86
|
-
end
|
87
|
-
|
88
|
-
describe '.deactivate' do
|
89
|
-
|
90
|
-
describe '#IBAN' do
|
91
|
-
context 'given a valid object' do
|
92
|
-
it 'deactivates the bank account entity' do
|
93
|
-
# noinspection RubyResolve
|
94
|
-
deactivate_and_check new_iban_account_persisted
|
95
|
-
end
|
96
|
-
end
|
97
|
-
end
|
98
|
-
|
99
|
-
describe '#US' do
|
100
|
-
context 'given a valid object' do
|
101
|
-
it 'deactivates the bank account entity' do
|
102
|
-
# noinspection RubyResolve
|
103
|
-
deactivate_and_check new_us_checking_account_persisted
|
104
|
-
end
|
105
|
-
end
|
106
|
-
end
|
107
|
-
|
108
|
-
describe '#CA' do
|
109
|
-
context 'given a valid object' do
|
110
|
-
it 'deactivates the bank account entity' do
|
111
|
-
# noinspection RubyResolve
|
112
|
-
deactivate_and_check new_ca_account_persisted
|
113
|
-
end
|
114
|
-
end
|
115
|
-
end
|
116
|
-
|
117
|
-
describe '#GB' do
|
118
|
-
context 'given a valid object' do
|
119
|
-
it 'deactivates the bank account entity' do
|
120
|
-
# noinspection RubyResolve
|
121
|
-
deactivate_and_check new_gb_account_persisted
|
122
|
-
end
|
123
|
-
end
|
124
|
-
end
|
125
|
-
|
126
|
-
describe '#OTHER' do
|
127
|
-
context 'given a valid object' do
|
128
|
-
it 'deactivates the bank account entity' do
|
129
|
-
# noinspection RubyResolve
|
130
|
-
deactivate_and_check new_other_account_persisted
|
131
|
-
end
|
132
|
-
end
|
133
|
-
end
|
134
|
-
end
|
135
|
-
|
136
|
-
describe '.get' do
|
137
|
-
|
138
|
-
describe '#IBAN' do
|
139
|
-
describe "given an existing entity's ID" do
|
140
|
-
it 'retrieves the corresponding entity' do
|
141
|
-
get_and_check IBAN_ACCOUNT_PERSISTED
|
142
|
-
end
|
143
|
-
end
|
144
|
-
end
|
145
|
-
|
146
|
-
describe '#US' do
|
147
|
-
describe "given an existing entity's ID" do
|
148
|
-
it 'retrieves the corresponding entity' do
|
149
|
-
get_and_check US_CHECKING_ACCOUNT_PERSISTED
|
150
|
-
end
|
151
|
-
end
|
152
|
-
end
|
153
|
-
|
154
|
-
describe '#CA' do
|
155
|
-
describe "given an existing entity's ID" do
|
156
|
-
it 'retrieves the corresponding entity' do
|
157
|
-
get_and_check CA_ACCOUNT_PERSISTED
|
158
|
-
end
|
159
|
-
end
|
160
|
-
end
|
161
|
-
|
162
|
-
describe '#GB' do
|
163
|
-
describe "given an existing entity's ID" do
|
164
|
-
it 'retrieves the corresponding entity' do
|
165
|
-
get_and_check GB_ACCOUNT_PERSISTED
|
166
|
-
end
|
167
|
-
end
|
168
|
-
end
|
169
|
-
|
170
|
-
describe '#OTHER' do
|
171
|
-
describe "given an existing entity's ID" do
|
172
|
-
it 'retrieves the corresponding entity' do
|
173
|
-
get_and_check OTHER_ACCOUNT_PERSISTED
|
174
|
-
end
|
175
|
-
end
|
176
|
-
end
|
177
|
-
end
|
178
|
-
|
179
|
-
describe '.all' do
|
180
|
-
|
181
|
-
context 'not having specified filters' do
|
182
|
-
results = MangoApi::BankAccounts.all(NATURAL_USER_PERSISTED.id)
|
183
|
-
|
184
|
-
it 'retrieves list with default parameters' do
|
185
|
-
expect(results).to be_kind_of Array
|
186
|
-
results.each do |result|
|
187
|
-
expect(result).to be_kind_of MangoModel::BankAccount
|
188
|
-
end
|
189
|
-
end
|
190
|
-
end
|
191
|
-
|
192
|
-
context 'having specified filters' do
|
193
|
-
per_page = 3
|
194
|
-
results = MangoApi::BankAccounts.all(NATURAL_USER_PERSISTED.id) do |filter|
|
195
|
-
filter.page = 1
|
196
|
-
filter.per_page = per_page
|
197
|
-
filter.sort_field = MangoPay::SortField::CREATION_DATE
|
198
|
-
filter.sort_direction = MangoPay::SortDirection::ASC
|
199
|
-
end
|
200
|
-
|
201
|
-
it 'retrieves list according to provided parameters' do
|
202
|
-
expect(results).to be_kind_of Array
|
203
|
-
expect(results.length).to eq per_page
|
204
|
-
results.each.with_index do |result, index|
|
205
|
-
expect(result).to be_kind_of MangoModel::BankAccount
|
206
|
-
next if index == results.length - 1
|
207
|
-
first_date = result.creation_date
|
208
|
-
second_date = results[index + 1].creation_date
|
209
|
-
expect(first_date <= second_date).to be_truthy
|
210
|
-
end
|
211
|
-
end
|
212
|
-
end
|
213
|
-
end
|
214
|
-
end
|
215
|
-
|
216
|
-
def deactivate_and_check(account)
|
217
|
-
deactivated = MangoApi::BankAccounts.deactivate account.user_id, account.id
|
218
|
-
|
219
|
-
expect(deactivated).to be_kind_of account.class
|
220
|
-
expect(deactivated.id).to eq account.id
|
221
|
-
expect(deactivated.active).to be_falsey
|
222
|
-
end
|
223
|
-
|
224
|
-
def get_and_check(account)
|
225
|
-
retrieved = MangoApi::BankAccounts.get account.user_id, account.id
|
226
|
-
|
227
|
-
expect(retrieved).to be_kind_of account.class
|
228
|
-
expect(retrieved.id).to eq account.id
|
1
|
+
require_relative '../../lib/mangopay/model/entity/account/bank_account'
|
2
|
+
require_relative '../../spec/context/bank_account_context'
|
3
|
+
require_relative '../../lib/mangopay/api/service/bank_accounts'
|
4
|
+
require_relative '../../lib/mangopay/common/sort_direction'
|
5
|
+
require_relative '../../lib/mangopay/common/sort_field'
|
6
|
+
|
7
|
+
describe MangoApi::BankAccounts do
|
8
|
+
include_context 'bank_account_context'
|
9
|
+
|
10
|
+
describe '.create' do
|
11
|
+
|
12
|
+
describe '#IBAN' do
|
13
|
+
context 'given a valid object' do
|
14
|
+
account = IBAN_ACCOUNT_PERSISTED
|
15
|
+
|
16
|
+
it 'creates the IBAN bank account entity' do
|
17
|
+
expect(account).to be_kind_of MangoModel::IbanBankAccount
|
18
|
+
expect(account.id).not_to be_nil
|
19
|
+
expect(its_the_same_iban(account, IBAN_ACCOUNT_PERSISTED)).to be_truthy
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
describe '#US' do
|
25
|
+
|
26
|
+
describe '#Savings' do
|
27
|
+
context 'given a valid object' do
|
28
|
+
account = US_SAVINGS_ACCOUNT_PERSISTED
|
29
|
+
|
30
|
+
it 'creates the US savings bank account entity' do
|
31
|
+
expect(account).to be_kind_of MangoModel::UsBankAccount
|
32
|
+
expect(account.id).not_to be_nil
|
33
|
+
expect(its_the_same_us(account, US_SAVINGS_ACCOUNT_PERSISTED)).to be_truthy
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
describe '#Checking' do
|
39
|
+
context 'given a valid object' do
|
40
|
+
account = US_CHECKING_ACCOUNT_PERSISTED
|
41
|
+
|
42
|
+
it 'creates the US checking bank account entity' do
|
43
|
+
expect(account).to be_kind_of MangoModel::UsBankAccount
|
44
|
+
expect(account.id).not_to be_nil
|
45
|
+
expect(its_the_same_us(account, US_CHECKING_ACCOUNT_PERSISTED)).to be_truthy
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
describe '#CA' do
|
52
|
+
context 'given a valid object' do
|
53
|
+
account = CA_ACCOUNT_PERSISTED
|
54
|
+
|
55
|
+
it 'creates the CA bank account entity' do
|
56
|
+
expect(account).to be_kind_of MangoModel::CaBankAccount
|
57
|
+
expect(account.id).not_to be_nil
|
58
|
+
expect(its_the_same_ca(account, CA_ACCOUNT_PERSISTED)).to be_truthy
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
describe '#GB' do
|
64
|
+
context 'given a valid object' do
|
65
|
+
account = GB_ACCOUNT_PERSISTED
|
66
|
+
|
67
|
+
it 'creates the GB bank account entity' do
|
68
|
+
expect(account).to be_kind_of MangoModel::GbBankAccount
|
69
|
+
expect(account.id).not_to be_nil
|
70
|
+
expect(its_the_same_gb(account, GB_ACCOUNT_PERSISTED)).to be_truthy
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
describe '#OTHER' do
|
76
|
+
context 'given a valid object' do
|
77
|
+
account = OTHER_ACCOUNT_PERSISTED
|
78
|
+
|
79
|
+
it 'creates the OTHER bank account entity' do
|
80
|
+
expect(account).to be_kind_of MangoModel::OtherBankAccount
|
81
|
+
expect(account.id).not_to be_nil
|
82
|
+
expect(its_the_same_other(account, OTHER_ACCOUNT_PERSISTED)).to be_truthy
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
describe '.deactivate' do
|
89
|
+
|
90
|
+
describe '#IBAN' do
|
91
|
+
context 'given a valid object' do
|
92
|
+
it 'deactivates the bank account entity' do
|
93
|
+
# noinspection RubyResolve
|
94
|
+
deactivate_and_check new_iban_account_persisted
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
describe '#US' do
|
100
|
+
context 'given a valid object' do
|
101
|
+
it 'deactivates the bank account entity' do
|
102
|
+
# noinspection RubyResolve
|
103
|
+
deactivate_and_check new_us_checking_account_persisted
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
describe '#CA' do
|
109
|
+
context 'given a valid object' do
|
110
|
+
it 'deactivates the bank account entity' do
|
111
|
+
# noinspection RubyResolve
|
112
|
+
deactivate_and_check new_ca_account_persisted
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
describe '#GB' do
|
118
|
+
context 'given a valid object' do
|
119
|
+
it 'deactivates the bank account entity' do
|
120
|
+
# noinspection RubyResolve
|
121
|
+
deactivate_and_check new_gb_account_persisted
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
126
|
+
describe '#OTHER' do
|
127
|
+
context 'given a valid object' do
|
128
|
+
it 'deactivates the bank account entity' do
|
129
|
+
# noinspection RubyResolve
|
130
|
+
deactivate_and_check new_other_account_persisted
|
131
|
+
end
|
132
|
+
end
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
136
|
+
describe '.get' do
|
137
|
+
|
138
|
+
describe '#IBAN' do
|
139
|
+
describe "given an existing entity's ID" do
|
140
|
+
it 'retrieves the corresponding entity' do
|
141
|
+
get_and_check IBAN_ACCOUNT_PERSISTED
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
describe '#US' do
|
147
|
+
describe "given an existing entity's ID" do
|
148
|
+
it 'retrieves the corresponding entity' do
|
149
|
+
get_and_check US_CHECKING_ACCOUNT_PERSISTED
|
150
|
+
end
|
151
|
+
end
|
152
|
+
end
|
153
|
+
|
154
|
+
describe '#CA' do
|
155
|
+
describe "given an existing entity's ID" do
|
156
|
+
it 'retrieves the corresponding entity' do
|
157
|
+
get_and_check CA_ACCOUNT_PERSISTED
|
158
|
+
end
|
159
|
+
end
|
160
|
+
end
|
161
|
+
|
162
|
+
describe '#GB' do
|
163
|
+
describe "given an existing entity's ID" do
|
164
|
+
it 'retrieves the corresponding entity' do
|
165
|
+
get_and_check GB_ACCOUNT_PERSISTED
|
166
|
+
end
|
167
|
+
end
|
168
|
+
end
|
169
|
+
|
170
|
+
describe '#OTHER' do
|
171
|
+
describe "given an existing entity's ID" do
|
172
|
+
it 'retrieves the corresponding entity' do
|
173
|
+
get_and_check OTHER_ACCOUNT_PERSISTED
|
174
|
+
end
|
175
|
+
end
|
176
|
+
end
|
177
|
+
end
|
178
|
+
|
179
|
+
describe '.all' do
|
180
|
+
|
181
|
+
context 'not having specified filters' do
|
182
|
+
results = MangoApi::BankAccounts.all(NATURAL_USER_PERSISTED.id)
|
183
|
+
|
184
|
+
it 'retrieves list with default parameters' do
|
185
|
+
expect(results).to be_kind_of Array
|
186
|
+
results.each do |result|
|
187
|
+
expect(result).to be_kind_of MangoModel::BankAccount
|
188
|
+
end
|
189
|
+
end
|
190
|
+
end
|
191
|
+
|
192
|
+
context 'having specified filters' do
|
193
|
+
per_page = 3
|
194
|
+
results = MangoApi::BankAccounts.all(NATURAL_USER_PERSISTED.id) do |filter|
|
195
|
+
filter.page = 1
|
196
|
+
filter.per_page = per_page
|
197
|
+
filter.sort_field = MangoPay::SortField::CREATION_DATE
|
198
|
+
filter.sort_direction = MangoPay::SortDirection::ASC
|
199
|
+
end
|
200
|
+
|
201
|
+
it 'retrieves list according to provided parameters' do
|
202
|
+
expect(results).to be_kind_of Array
|
203
|
+
expect(results.length).to eq per_page
|
204
|
+
results.each.with_index do |result, index|
|
205
|
+
expect(result).to be_kind_of MangoModel::BankAccount
|
206
|
+
next if index == results.length - 1
|
207
|
+
first_date = result.creation_date
|
208
|
+
second_date = results[index + 1].creation_date
|
209
|
+
expect(first_date <= second_date).to be_truthy
|
210
|
+
end
|
211
|
+
end
|
212
|
+
end
|
213
|
+
end
|
214
|
+
end
|
215
|
+
|
216
|
+
def deactivate_and_check(account)
|
217
|
+
deactivated = MangoApi::BankAccounts.deactivate account.user_id, account.id
|
218
|
+
|
219
|
+
expect(deactivated).to be_kind_of account.class
|
220
|
+
expect(deactivated.id).to eq account.id
|
221
|
+
expect(deactivated.active).to be_falsey
|
222
|
+
end
|
223
|
+
|
224
|
+
def get_and_check(account)
|
225
|
+
retrieved = MangoApi::BankAccounts.get account.user_id, account.id
|
226
|
+
|
227
|
+
expect(retrieved).to be_kind_of account.class
|
228
|
+
expect(retrieved.id).to eq account.id
|
229
229
|
end
|