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.
Files changed (234) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +29 -29
  3. data/.rspec +3 -3
  4. data/.rubocop.yml +1 -1
  5. data/.travis.yml +21 -13
  6. data/Gemfile +2 -2
  7. data/LICENSE +20 -20
  8. data/README.md +379 -379
  9. data/bin/mangopay +9 -9
  10. data/lib/mangopay.rb +132 -132
  11. data/lib/mangopay/api/api.rb +8 -8
  12. data/lib/mangopay/api/api_methods.rb +160 -136
  13. data/lib/mangopay/api/auth_token_manager.rb +173 -173
  14. data/lib/mangopay/api/http_client.rb +324 -324
  15. data/lib/mangopay/api/service/bank_accounts.rb +145 -145
  16. data/lib/mangopay/api/service/banking_aliases.rb +83 -0
  17. data/lib/mangopay/api/service/cards.rb +151 -151
  18. data/lib/mangopay/api/service/client_wallets.rb +88 -88
  19. data/lib/mangopay/api/service/clients.rb +67 -67
  20. data/lib/mangopay/api/service/dispute_documents.rb +157 -157
  21. data/lib/mangopay/api/service/disputes.rb +186 -186
  22. data/lib/mangopay/api/service/e_money.rb +63 -41
  23. data/lib/mangopay/api/service/events.rb +46 -46
  24. data/lib/mangopay/api/service/hooks.rb +92 -92
  25. data/lib/mangopay/api/service/kyc_documents.rb +152 -152
  26. data/lib/mangopay/api/service/mandates.rb +141 -141
  27. data/lib/mangopay/api/service/oauth_tokens.rb +24 -24
  28. data/lib/mangopay/api/service/pay_ins.rb +369 -259
  29. data/lib/mangopay/api/service/pay_outs.rb +53 -53
  30. data/lib/mangopay/api/service/pre_authorizations.rb +126 -68
  31. data/lib/mangopay/api/service/refunds.rb +159 -61
  32. data/lib/mangopay/api/service/reports.rb +150 -150
  33. data/lib/mangopay/api/service/repudiations.rb +31 -31
  34. data/lib/mangopay/api/service/responses.rb +101 -101
  35. data/lib/mangopay/api/service/settlement_transfers.rb +54 -54
  36. data/lib/mangopay/api/service/transactions.rb +246 -182
  37. data/lib/mangopay/api/service/transfers.rb +53 -53
  38. data/lib/mangopay/api/service/ubo_declarations.rb +94 -69
  39. data/lib/mangopay/api/service/users.rb +162 -162
  40. data/lib/mangopay/api/service/wallets.rb +98 -98
  41. data/lib/mangopay/api/uri_provider.rb +32 -34
  42. data/lib/mangopay/common/json_tag_converter.rb +70 -67
  43. data/lib/mangopay/common/jsonifier.rb +266 -248
  44. data/lib/mangopay/common/log_provider.rb +33 -33
  45. data/lib/mangopay/common/rate_limit_interval.rb +16 -16
  46. data/lib/mangopay/common/read_only_fields.rb +26 -26
  47. data/lib/mangopay/common/response_error.rb +61 -61
  48. data/lib/mangopay/common/sort_direction.rb +14 -14
  49. data/lib/mangopay/common/sort_field.rb +12 -12
  50. data/lib/mangopay/common/template_url_options.rb +8 -8
  51. data/lib/mangopay/configuration.rb +38 -38
  52. data/lib/mangopay/environment.rb +65 -65
  53. data/lib/mangopay/model/address.rb +26 -26
  54. data/lib/mangopay/model/billing.rb +13 -0
  55. data/lib/mangopay/model/birthplace.rb +15 -0
  56. data/lib/mangopay/model/declared_ubo.rb +20 -20
  57. data/lib/mangopay/model/dispute_reason.rb +14 -14
  58. data/lib/mangopay/model/document_page_consult.rb +14 -14
  59. data/lib/mangopay/model/e_money.rb +17 -17
  60. data/lib/mangopay/model/entity/account/bank_account.rb +25 -25
  61. data/lib/mangopay/model/entity/account/ca_bank_account.rb +26 -26
  62. data/lib/mangopay/model/entity/account/debited_bank_account.rb +31 -0
  63. data/lib/mangopay/model/entity/account/gb_bank_account.rb +20 -20
  64. data/lib/mangopay/model/entity/account/iban_bank_account.rb +20 -20
  65. data/lib/mangopay/model/entity/account/other_bank_account.rb +23 -23
  66. data/lib/mangopay/model/entity/account/us_bank_account.rb +23 -23
  67. data/lib/mangopay/model/entity/banking_alias.rb +27 -0
  68. data/lib/mangopay/model/entity/card.rb +44 -44
  69. data/lib/mangopay/model/entity/card_registration.rb +42 -42
  70. data/lib/mangopay/model/entity/client.rb +65 -62
  71. data/lib/mangopay/model/entity/client_wallet.rb +22 -22
  72. data/lib/mangopay/model/entity/dispute.rb +49 -49
  73. data/lib/mangopay/model/entity/dispute_document.rb +28 -28
  74. data/lib/mangopay/model/entity/entity_base.rb +17 -17
  75. data/lib/mangopay/model/entity/hook.rb +25 -25
  76. data/lib/mangopay/model/entity/kyc_document.rb +27 -27
  77. data/lib/mangopay/model/entity/mandate.rb +50 -50
  78. data/lib/mangopay/model/entity/pay_in/apple_pay_direct_pay_in.rb +26 -0
  79. data/lib/mangopay/model/entity/pay_in/bank_wire_direct_pay_in.rb +24 -21
  80. data/lib/mangopay/model/entity/pay_in/bank_wire_external_instruction_pay_in.rb +19 -0
  81. data/lib/mangopay/model/entity/pay_in/card_direct_pay_in.rb +41 -32
  82. data/lib/mangopay/model/entity/pay_in/card_pre_authorized_pay_in.rb +15 -12
  83. data/lib/mangopay/model/entity/pay_in/card_web_pay_in.rb +36 -39
  84. data/lib/mangopay/model/entity/pay_in/direct_debit_direct_pay_in.rb +25 -22
  85. data/lib/mangopay/model/entity/pay_in/direct_debit_web_pay_in.rb +37 -37
  86. data/lib/mangopay/model/entity/pay_in/google_pay_direct_pay_in.rb +28 -0
  87. data/lib/mangopay/model/entity/pay_in/pay_in.rb +18 -15
  88. data/lib/mangopay/model/entity/pay_in/paypal_web_pay_in.rb +15 -0
  89. data/lib/mangopay/model/entity/pay_out.rb +21 -21
  90. data/lib/mangopay/model/entity/pre_authorization.rb +74 -67
  91. data/lib/mangopay/model/entity/refund.rb +17 -17
  92. data/lib/mangopay/model/entity/report.rb +50 -50
  93. data/lib/mangopay/model/entity/repudiation.rb +17 -17
  94. data/lib/mangopay/model/entity/settlement_transfer.rb +16 -16
  95. data/lib/mangopay/model/entity/transaction.rb +51 -51
  96. data/lib/mangopay/model/entity/transfer.rb +12 -12
  97. data/lib/mangopay/model/entity/ubo.rb +30 -0
  98. data/lib/mangopay/model/entity/ubo_declaration.rb +29 -31
  99. data/lib/mangopay/model/entity/user/legal_user.rb +55 -52
  100. data/lib/mangopay/model/entity/user/natural_user.rb +49 -49
  101. data/lib/mangopay/model/entity/user/user.rb +17 -17
  102. data/lib/mangopay/model/entity/wallet.rb +27 -27
  103. data/lib/mangopay/model/enum/account_type.rb +23 -23
  104. data/lib/mangopay/model/enum/avs_result.rb +19 -0
  105. data/lib/mangopay/model/enum/banking_alias_type.rb +12 -0
  106. data/lib/mangopay/model/enum/business_type.rb +17 -0
  107. data/lib/mangopay/model/enum/card_status.rb +14 -14
  108. data/lib/mangopay/model/enum/card_type.rb +32 -32
  109. data/lib/mangopay/model/enum/card_validity.rb +18 -18
  110. data/lib/mangopay/model/enum/country_iso.rb +758 -758
  111. data/lib/mangopay/model/enum/culture_code.rb +43 -43
  112. data/lib/mangopay/model/enum/currency_iso.rb +551 -551
  113. data/lib/mangopay/model/enum/declared_ubo_refused_reason_type.rb +15 -15
  114. data/lib/mangopay/model/enum/declared_ubo_status.rb +17 -17
  115. data/lib/mangopay/model/enum/deposit_type.rb +14 -14
  116. data/lib/mangopay/model/enum/direct_debit_type.rb +12 -12
  117. data/lib/mangopay/model/enum/dispute_doc_refused_reason_type.rb +24 -24
  118. data/lib/mangopay/model/enum/dispute_document_type.rb +22 -22
  119. data/lib/mangopay/model/enum/dispute_reason_type.rb +32 -32
  120. data/lib/mangopay/model/enum/dispute_status.rb +20 -20
  121. data/lib/mangopay/model/enum/dispute_type.rb +14 -14
  122. data/lib/mangopay/model/enum/document_status.rb +20 -20
  123. data/lib/mangopay/model/enum/download_format.rb +10 -10
  124. data/lib/mangopay/model/enum/event_type.rb +76 -73
  125. data/lib/mangopay/model/enum/funds_type.rb +14 -14
  126. data/lib/mangopay/model/enum/hook_status.rb +12 -12
  127. data/lib/mangopay/model/enum/hook_validity.rb +14 -14
  128. data/lib/mangopay/model/enum/income_range.rb +20 -20
  129. data/lib/mangopay/model/enum/kyc_doc_refused_reason_type.rb +36 -36
  130. data/lib/mangopay/model/enum/kyc_document_type.rb +18 -18
  131. data/lib/mangopay/model/enum/kyc_level.rb +12 -12
  132. data/lib/mangopay/model/enum/legal_person_type.rb +14 -14
  133. data/lib/mangopay/model/enum/mandate_culture_code.rb +22 -22
  134. data/lib/mangopay/model/enum/mandate_execution_type.rb +10 -10
  135. data/lib/mangopay/model/enum/mandate_scheme.rb +12 -12
  136. data/lib/mangopay/model/enum/mandate_status.rb +23 -23
  137. data/lib/mangopay/model/enum/mandate_type.rb +10 -10
  138. data/lib/mangopay/model/enum/natural_user_capacity.rb +14 -14
  139. data/lib/mangopay/model/enum/pay_in_execution_type.rb +17 -17
  140. data/lib/mangopay/model/enum/pay_in_payment_type.rb +29 -20
  141. data/lib/mangopay/model/enum/pay_out_payment_type.rb +10 -10
  142. data/lib/mangopay/model/enum/payment_status.rb +20 -20
  143. data/lib/mangopay/model/enum/person_type.rb +14 -14
  144. data/lib/mangopay/model/enum/platform_type.rb +22 -22
  145. data/lib/mangopay/model/enum/pre_authorization_execution_type.rb +10 -10
  146. data/lib/mangopay/model/enum/pre_authorization_status.rb +17 -17
  147. data/lib/mangopay/model/enum/refund_reason_type.rb +20 -20
  148. data/lib/mangopay/model/enum/report_status.rb +16 -16
  149. data/lib/mangopay/model/enum/report_type.rb +12 -12
  150. data/lib/mangopay/model/enum/sector.rb +29 -0
  151. data/lib/mangopay/model/enum/secure_mode.rb +15 -15
  152. data/lib/mangopay/model/enum/transaction_nature.rb +16 -16
  153. data/lib/mangopay/model/enum/transaction_status.rb +14 -14
  154. data/lib/mangopay/model/enum/transaction_type.rb +14 -14
  155. data/lib/mangopay/model/enum/ubo_declaration_refused_reason_type.rb +18 -18
  156. data/lib/mangopay/model/enum/ubo_declaration_status.rb +20 -20
  157. data/lib/mangopay/model/event.rb +17 -17
  158. data/lib/mangopay/model/model.rb +214 -193
  159. data/lib/mangopay/model/money.rb +16 -16
  160. data/lib/mangopay/model/pay_in_web_extended_view.rb +30 -30
  161. data/lib/mangopay/model/platform_categorization.rb +15 -0
  162. data/lib/mangopay/model/refund_reason.rb +14 -14
  163. data/lib/mangopay/model/report_filter.rb +82 -82
  164. data/lib/mangopay/model/request/cancel_request.rb +15 -15
  165. data/lib/mangopay/model/request/complete_registration_request.rb +12 -12
  166. data/lib/mangopay/model/request/currency_request.rb +12 -12
  167. data/lib/mangopay/model/request/deactivation_request.rb +9 -9
  168. data/lib/mangopay/model/request/filter_request.rb +37 -37
  169. data/lib/mangopay/model/request/submit_document_request.rb +13 -13
  170. data/lib/mangopay/model/request/submit_ubo_declaration_request.rb +16 -13
  171. data/lib/mangopay/model/request/upload_file_request.rb +8 -8
  172. data/lib/mangopay/model/response_replica.rb +26 -26
  173. data/lib/mangopay/model/security_info.rb +13 -0
  174. data/lib/mangopay/util/custom_formatter.rb +11 -11
  175. data/lib/mangopay/util/custom_logger.rb +33 -33
  176. data/lib/mangopay/util/enum.rb +51 -51
  177. data/lib/mangopay/util/file_encoder.rb +15 -15
  178. data/lib/mangopay/util/non_instantiable.rb +5 -5
  179. data/lib/mangopay/util/storage_strategy.rb +9 -9
  180. data/lib/mangopay/util/void_logger.rb +5 -5
  181. data/mangopay-v4.gemspec +32 -0
  182. data/mangopay.gemspec +32 -32
  183. data/spec/context/address_context.rb +24 -24
  184. data/spec/context/bank_account_context.rb +137 -137
  185. data/spec/context/banking_alias_context.rb +17 -0
  186. data/spec/context/birthplace_context.rb +17 -0
  187. data/spec/context/card_context.rb +45 -45
  188. data/spec/context/client_context.rb +43 -44
  189. data/spec/context/dispute_context.rb +36 -36
  190. data/spec/context/dispute_document_context.rb +19 -19
  191. data/spec/context/hook_context.rb +15 -15
  192. data/spec/context/kyc_document_context.rb +22 -22
  193. data/spec/context/mandate_context.rb +26 -26
  194. data/spec/context/pay_in_context.rb +319 -224
  195. data/spec/context/pay_out_context.rb +39 -38
  196. data/spec/context/pre_authorization_context.rb +44 -40
  197. data/spec/context/refund_context.rb +32 -32
  198. data/spec/context/report_context.rb +21 -21
  199. data/spec/context/repudiation_context.rb +18 -18
  200. data/spec/context/settlement_transfer_context.rb +27 -27
  201. data/spec/context/transfer_context.rb +50 -50
  202. data/spec/context/ubo_declaration_context.rb +29 -24
  203. data/spec/context/user_context.rb +83 -82
  204. data/spec/context/wallet_context.rb +52 -52
  205. data/spec/mangopay/bank_accounts_spec.rb +228 -228
  206. data/spec/mangopay/banking_alias_spec.rb +85 -0
  207. data/spec/mangopay/cards_spec.rb +133 -134
  208. data/spec/mangopay/client_wallets_spec.rb +147 -147
  209. data/spec/mangopay/clients_spec.rb +56 -54
  210. data/spec/mangopay/configuration_spec.rb +125 -125
  211. data/spec/mangopay/dispute_documents_spec.rb +173 -173
  212. data/spec/mangopay/disputes_spec.rb +264 -264
  213. data/spec/mangopay/e_money_spec.rb +57 -37
  214. data/spec/mangopay/events_spec.rb +49 -49
  215. data/spec/mangopay/hooks_spec.rb +70 -70
  216. data/spec/mangopay/kyc_documents_spec.rb +179 -179
  217. data/spec/mangopay/mandates_spec.rb +218 -218
  218. data/spec/mangopay/oauth_tokens_spec.rb +40 -40
  219. data/spec/mangopay/pay_ins_spec.rb +279 -180
  220. data/spec/mangopay/pay_outs_spec.rb +38 -38
  221. data/spec/mangopay/pre_authorizations_spec.rb +134 -57
  222. data/spec/mangopay/refunds_spec.rb +187 -39
  223. data/spec/mangopay/reports_spec.rb +118 -120
  224. data/spec/mangopay/responses_spec.rb +324 -294
  225. data/spec/mangopay/settlement_transfers_spec.rb +36 -36
  226. data/spec/mangopay/transactions_spec.rb +347 -232
  227. data/spec/mangopay/transfers_spec.rb +37 -37
  228. data/spec/mangopay/ubo_declarations_spec.rb +127 -64
  229. data/spec/mangopay/users_spec.rb +145 -145
  230. data/spec/mangopay/wallets_spec.rb +103 -103
  231. data/spec/spec_helper.rb +72 -72
  232. data/spec/tmp/MangoPay.AuthorizationToken.FileStore.tmp +6 -0
  233. data/spec/tmp/mangopay.log.tmp +1201 -0
  234. metadata +31 -5
@@ -1,39 +1,39 @@
1
- require_relative '../../lib/mangopay/api/service/pay_outs'
2
- require_relative '../context/pay_out_context'
3
-
4
- describe MangoApi::PayOuts do
5
- include_context 'pay_out_context'
6
-
7
- describe '.create' do
8
-
9
- context 'given a valid object' do
10
- pay_out = PAY_OUT_DATA
11
-
12
- it 'creates the pay-out entity' do
13
- created = MangoApi::PayOuts.create pay_out
14
-
15
- expect(created).to be_kind_of MangoModel::PayOut
16
- expect(created.id).not_to be_nil
17
- expect(created.payment_type).to be MangoModel::PayOutPaymentType::BANK_WIRE
18
- expect(created.status).to be MangoModel::TransactionStatus::CREATED
19
- expect(its_the_same_pay_out(pay_out, created)).to be_truthy
20
- end
21
- end
22
- end
23
-
24
- describe '.get' do
25
-
26
- context "given an existing entity's ID" do
27
- created = PAY_OUT_PERSISTED
28
- id = created.id
29
-
30
- it 'retrieves the corresponding entity' do
31
- retrieved = MangoApi::PayOuts.get id
32
-
33
- expect(retrieved).to be_kind_of MangoModel::PayOut
34
- expect(retrieved.id).to eq id
35
- expect(its_the_same_pay_out(created, retrieved)).to be_truthy
36
- end
37
- end
38
- end
1
+ require_relative '../../lib/mangopay/api/service/pay_outs'
2
+ require_relative '../context/pay_out_context'
3
+
4
+ describe MangoApi::PayOuts do
5
+ include_context 'pay_out_context'
6
+
7
+ describe '.create' do
8
+
9
+ context 'given a valid object' do
10
+ pay_out = PAY_OUT_DATA
11
+
12
+ it 'creates the pay-out entity' do
13
+ created = MangoApi::PayOuts.create pay_out
14
+
15
+ expect(created).to be_kind_of MangoModel::PayOut
16
+ expect(created.id).not_to be_nil
17
+ expect(created.payment_type).to be MangoModel::PayOutPaymentType::BANK_WIRE
18
+ expect(created.status).to be MangoModel::TransactionStatus::CREATED
19
+ expect(its_the_same_pay_out(pay_out, created)).to be_truthy
20
+ end
21
+ end
22
+ end
23
+
24
+ describe '.get' do
25
+
26
+ context "given an existing entity's ID" do
27
+ created = PAY_OUT_PERSISTED
28
+ id = created.id
29
+
30
+ it 'retrieves the corresponding entity' do
31
+ retrieved = MangoApi::PayOuts.get id
32
+
33
+ expect(retrieved).to be_kind_of MangoModel::PayOut
34
+ expect(retrieved.id).to eq id
35
+ expect(its_the_same_pay_out(created, retrieved)).to be_truthy
36
+ end
37
+ end
38
+ end
39
39
  end
@@ -1,58 +1,135 @@
1
- require_relative '../context/pre_authorization_context'
2
- require_relative '../context/pre_authorization_context'
3
- require_relative '../../lib/mangopay/api/service/pre_authorizations'
4
- require_relative '../../lib/mangopay/model/enum/payment_status'
5
-
6
- describe MangoApi::PreAuthorizations do
7
- include_context 'pre_authorization_context'
8
-
9
- describe '.create' do
10
-
11
- context 'given a valid object' do
12
- pre_auth = PRE_AUTHORIZATION_DATA
13
-
14
- it 'creates the pre-authorization entity' do
15
- created = MangoApi::PreAuthorizations.create pre_auth
16
-
17
- expect(created).to be_kind_of MangoModel::PreAuthorization
18
- expect(created.id).not_to be_nil
19
- expect(created.payment_status).to be MangoModel::PaymentStatus::WAITING
20
- expect(its_the_same_pre_auth(pre_auth, created)).to be_truthy
21
- end
22
- end
23
- end
24
-
25
- describe '.get' do
26
-
27
- context "given an existing entity's ID" do
28
- pre_auth = PRE_AUTHORIZATION_PERSISTED
29
- id = pre_auth.id
30
-
31
- it 'retrieves the corresponding entity' do
32
- retrieved = MangoApi::PreAuthorizations.get id
33
-
34
- expect(retrieved).to be_kind_of MangoModel::PreAuthorization
35
- expect(retrieved.id).to eq id
36
- expect(its_the_same_pre_auth(pre_auth, retrieved)).to be_truthy
37
- end
38
- end
39
- end
40
-
41
- describe '.cancel' do
42
-
43
- context "given an existing entity's ID" do
44
- it 'cancels the corresponding entity' do
45
- # noinspection RubyResolve
46
- pre_auth = new_pre_authorization_persisted
47
- id = pre_auth.id
48
- canceled = MangoApi::PreAuthorizations.cancel id
49
-
50
- expect(canceled).to be_kind_of MangoModel::PreAuthorization
51
- expect(canceled.id).to eq id
52
- expect(canceled.status).to be MangoModel::PreAuthorizationStatus::SUCCEEDED
53
- expect(canceled.payment_status).to be MangoModel::PaymentStatus::CANCELED
54
- expect(its_the_same_pre_auth(pre_auth, canceled)).to be_truthy
55
- end
56
- end
57
- end
1
+ require_relative '../context/pre_authorization_context'
2
+ require_relative '../context/card_context'
3
+ require_relative '../../lib/mangopay/api/service/pre_authorizations'
4
+ require_relative '../../lib/mangopay/model/enum/payment_status'
5
+ require_relative '../../lib/mangopay/model/enum/avs_result'
6
+ require_relative '../../lib/mangopay/common/sort_field'
7
+ require_relative '../../lib/mangopay/common/sort_direction'
8
+
9
+ describe MangoApi::PreAuthorizations do
10
+ include_context 'pre_authorization_context'
11
+ include_context 'card_context'
12
+
13
+ describe '.create' do
14
+
15
+ context 'given a valid object' do
16
+ pre_auth = PRE_AUTHORIZATION_DATA
17
+
18
+ it 'creates the pre-authorization entity' do
19
+ created = MangoApi::PreAuthorizations.create pre_auth
20
+
21
+ expect(created).to be_kind_of MangoModel::PreAuthorization
22
+ expect(created.id).not_to be_nil
23
+ expect(created.payment_status).to be MangoModel::PaymentStatus::WAITING
24
+ expect(created.security_info.avs_result).to be MangoModel::AvsResult::NO_CHECK
25
+ expect(its_the_same_pre_auth(pre_auth, created)).to be_truthy
26
+ end
27
+ end
28
+ end
29
+
30
+ describe '.get' do
31
+
32
+ context "given an existing entity's ID" do
33
+ pre_auth = PRE_AUTHORIZATION_PERSISTED
34
+ id = pre_auth.id
35
+
36
+ it 'retrieves the corresponding entity' do
37
+ retrieved = MangoApi::PreAuthorizations.get id
38
+
39
+ expect(retrieved).to be_kind_of MangoModel::PreAuthorization
40
+ expect(retrieved.id).to eq id
41
+ expect(its_the_same_pre_auth(pre_auth, retrieved)).to be_truthy
42
+ end
43
+ end
44
+ end
45
+
46
+ describe '.of_user' do
47
+
48
+ context "given an existing entity's ID" do
49
+ id = NATURAL_USER_PERSISTED.id
50
+
51
+ context 'not having specified filters' do
52
+ results = MangoApi::PreAuthorizations.of_user id
53
+
54
+ it 'retrieves list with default parameters' do
55
+ expect(results).to be_kind_of Array
56
+ results.each do |result|
57
+ expect(result).to be_kind_of MangoModel::PreAuthorization
58
+ expect(result.id).not_to be_nil
59
+ end
60
+ end
61
+ end
62
+
63
+ context 'having specified filters' do
64
+ results = MangoApi::PreAuthorizations.of_user id do |filter|
65
+ filter.page = 1
66
+ filter.per_page = 10
67
+ filter.sort_field = MangoPay::SortField::CREATION_DATE
68
+ filter.sort_direction = MangoPay::SortDirection::ASC
69
+ end
70
+
71
+ it 'retrieves list with specified parameters' do
72
+ expect(results).to be_kind_of Array
73
+ results.each do |result|
74
+ expect(result).to be_kind_of MangoModel::PreAuthorization
75
+ expect(result.id).not_to be_nil
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end
81
+
82
+ describe '.cancel' do
83
+
84
+ context "given an existing entity's ID" do
85
+ it 'cancels the corresponding entity' do
86
+ # noinspection RubyResolve
87
+ pre_auth = new_pre_authorization_persisted
88
+ id = pre_auth.id
89
+ canceled = MangoApi::PreAuthorizations.cancel id
90
+
91
+ expect(canceled).to be_kind_of MangoModel::PreAuthorization
92
+ expect(canceled.id).to eq id
93
+ expect(canceled.status).to be MangoModel::PreAuthorizationStatus::SUCCEEDED
94
+ expect(canceled.payment_status).to be MangoModel::PaymentStatus::CANCELED
95
+ expect(its_the_same_pre_auth(pre_auth, canceled)).to be_truthy
96
+ end
97
+ end
98
+ end
99
+
100
+ describe '.of_card' do
101
+
102
+ context "given an existing entity's ID" do
103
+ id = CARD.id
104
+
105
+ context 'not having specified filters' do
106
+ it 'retrieves list with default parameters' do
107
+ results = MangoApi::PreAuthorizations.of_card id
108
+
109
+ expect(results).to be_kind_of Array
110
+ results.each do |result|
111
+ expect(result).to be_kind_of MangoModel::PreAuthorization
112
+ expect(result.id).not_to be_nil
113
+ end
114
+ end
115
+ end
116
+
117
+ context 'having specified filters' do
118
+ it 'retrieves list with specified parameters' do
119
+ results = MangoApi::PreAuthorizations.of_card id do |filter|
120
+ filter.page = 1
121
+ filter.per_page = 5
122
+ filter.status = MangoModel::PreAuthorizationStatus::CREATED
123
+ end
124
+
125
+ expect(results).to be_kind_of Array
126
+ results.each do |result|
127
+ expect(result).to be_kind_of MangoModel::PreAuthorization
128
+ expect(result.id).not_to be_nil
129
+ expect(result.status).to be MangoModel::PreAuthorizationStatus::CREATED
130
+ end
131
+ end
132
+ end
133
+ end
134
+ end
58
135
  end
@@ -1,40 +1,188 @@
1
- require_relative '../../lib/mangopay/api/service/refunds'
2
- require_relative '../context/refund_context'
3
- require_relative '../context/transfer_context'
4
-
5
- describe MangoApi::Refunds do
6
- include_context 'refund_context'
7
- include_context 'transfer_context'
8
-
9
- describe '.create_for_pay_in' do
10
-
11
- context "given an existing pay-in entity's ID and a valid object" do
12
- id = CARD_DIRECT_PAY_IN_PERSISTED.id
13
- refund = build_pay_in_refund
14
-
15
- it 'creates the refund entity' do
16
- created = MangoApi::Refunds.create_for_pay_in(id, refund)
17
-
18
- expect(created).to be_kind_of MangoModel::Refund
19
- expect(created.id).not_to be_nil
20
- expect(created.status).to be MangoModel::TransactionStatus::SUCCEEDED
21
- end
22
- end
23
- end
24
-
25
- describe '.create_for_transfer' do
26
-
27
- context "given an existing transfer entity's ID and a valid object" do
28
- id = TRANSFER_PERSISTED.id
29
- refund = TRANSFER_REFUND_DATA
30
-
31
- it 'creates the refund entity' do
32
- created = MangoApi::Refunds.create_for_transfer(id, refund)
33
-
34
- expect(created).to be_kind_of MangoModel::Refund
35
- expect(created.id).not_to be_nil
36
- expect(created.status).to be MangoModel::TransactionStatus::SUCCEEDED
37
- end
38
- end
39
- end
1
+ require_relative '../../lib/mangopay/api/service/refunds'
2
+ require_relative '../context/refund_context'
3
+ require_relative '../context/transfer_context'
4
+ require_relative '../context/pay_out_context'
5
+ require_relative '../context/repudiation_context'
6
+
7
+ describe MangoApi::Refunds do
8
+ include_context 'refund_context'
9
+ include_context 'transfer_context'
10
+ include_context 'pay_out_context'
11
+ include_context 'repudiation_context'
12
+
13
+ describe '.create_for_pay_in' do
14
+
15
+ context "given an existing pay-in entity's ID and a valid object" do
16
+ id = CARD_DIRECT_PAY_IN_PERSISTED.id
17
+ refund = build_pay_in_refund
18
+
19
+ it 'creates the refund entity' do
20
+ created = MangoApi::Refunds.create_for_pay_in(id, refund)
21
+
22
+ expect(created).to be_kind_of MangoModel::Refund
23
+ expect(created.id).not_to be_nil
24
+ expect(created.status).to be MangoModel::TransactionStatus::SUCCEEDED
25
+ end
26
+ end
27
+ end
28
+
29
+ describe '.create_for_transfer' do
30
+
31
+ context "given an existing transfer entity's ID and a valid object" do
32
+ id = TRANSFER_PERSISTED.id
33
+ refund = TRANSFER_REFUND_DATA
34
+
35
+ it 'creates the refund entity' do
36
+ created = MangoApi::Refunds.create_for_transfer(id, refund)
37
+
38
+ expect(created).to be_kind_of MangoModel::Refund
39
+ expect(created.id).not_to be_nil
40
+ expect(created.status).to be MangoModel::TransactionStatus::SUCCEEDED
41
+ end
42
+ end
43
+ end
44
+
45
+ describe '.of_pay_out' do
46
+
47
+ context "given an existing entity's ID" do
48
+ id = PAY_OUT_PERSISTED.id
49
+
50
+ context 'not having specified filters' do
51
+ results = MangoApi::Refunds.of_pay_out id
52
+
53
+ it 'retrieves list with default parameters' do
54
+ expect(results).to be_kind_of Array
55
+ results.each do |result|
56
+ expect(result).to be_kind_of MangoModel::Refund
57
+ expect(result.id).not_to be_nil
58
+ end
59
+ end
60
+ end
61
+
62
+ context 'having specified filters' do
63
+ results = MangoApi::Refunds.of_pay_out id do |filter|
64
+ filter.page = 1
65
+ filter.per_page = 3
66
+ filter.status = MangoModel::TransactionStatus::CREATED
67
+ end
68
+
69
+ it 'retrieves list with specified parameters' do
70
+ expect(results).to be_kind_of Array
71
+ results.each do |result|
72
+ expect(result).to be_kind_of MangoModel::Refund
73
+ expect(result.id).not_to be_nil
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
79
+
80
+ describe '.of_transfer' do
81
+
82
+ context "given an existing entity's ID" do
83
+ id = TRANSFER_PERSISTED.id
84
+
85
+ context 'not having specified filters' do
86
+ results = MangoApi::Refunds.of_transfer id
87
+
88
+ it 'retrieves list with default parameters' do
89
+ expect(results).to be_kind_of Array
90
+ results.each do |result|
91
+ expect(result).to be_kind_of MangoModel::Refund
92
+ expect(result.id).not_to be_nil
93
+ end
94
+ end
95
+ end
96
+
97
+ context 'having specified filters' do
98
+ results = MangoApi::Refunds.of_transfer id do |filter|
99
+ filter.page = 1
100
+ filter.per_page = 3
101
+ filter.status = MangoModel::TransactionStatus::CREATED
102
+ end
103
+
104
+ it 'retrieves list with specified parameters' do
105
+ expect(results).to be_kind_of Array
106
+ results.each do |result|
107
+ expect(result).to be_kind_of MangoModel::Refund
108
+ expect(result.id).not_to be_nil
109
+ expect(result.status).to be MangoModel::TransactionStatus::CREATED
110
+ end
111
+ end
112
+ end
113
+ end
114
+ end
115
+
116
+
117
+ describe '.of_pay_in' do
118
+
119
+ context "given an existing entity's ID" do
120
+ id = CARD_WEB_PAY_IN_PERSISTED.id
121
+
122
+ context 'not having specified filters' do
123
+ results = MangoApi::Refunds.of_pay_in id
124
+
125
+ it 'retrieves list with default parameters' do
126
+ expect(results).to be_kind_of Array
127
+ results.each do |result|
128
+ expect(result).to be_kind_of MangoModel::Refund
129
+ expect(result.id).not_to be_nil
130
+ end
131
+ end
132
+ end
133
+
134
+ context 'having specified filters' do
135
+ results = MangoApi::Refunds.of_pay_in id do |filter|
136
+ filter.page = 1
137
+ filter.per_page = 3
138
+ filter.status = MangoModel::TransactionStatus::CREATED
139
+ end
140
+
141
+ it 'retrieves list with specified parameters' do
142
+ expect(results).to be_kind_of Array
143
+ results.each do |result|
144
+ expect(result).to be_kind_of MangoModel::Refund
145
+ expect(result.id).not_to be_nil
146
+ expect(result.status).to be MangoModel::TransactionStatus::CREATED
147
+ end
148
+ end
149
+ end
150
+ end
151
+ end
152
+
153
+ describe '.of_repudiation' do
154
+
155
+ context "given an existing entity's ID" do
156
+ id = REPUDIATION_PERSISTED.id
157
+
158
+ context 'not having specified filters' do
159
+ results = MangoApi::Refunds.of_repudiation id
160
+
161
+ it 'retrieves list with default parameters' do
162
+ expect(results).to be_kind_of Array
163
+ results.each do |result|
164
+ expect(result).to be_kind_of MangoModel::Refund
165
+ expect(result.id).not_to be_nil
166
+ end
167
+ end
168
+ end
169
+
170
+ context 'having specified filters' do
171
+ results = MangoApi::Refunds.of_repudiation id do |filter|
172
+ filter.page = 1
173
+ filter.per_page = 3
174
+ filter.status = MangoModel::TransactionStatus::CREATED
175
+ end
176
+
177
+ it 'retrieves list with specified parameters' do
178
+ expect(results).to be_kind_of Array
179
+ results.each do |result|
180
+ expect(result).to be_kind_of MangoModel::Refund
181
+ expect(result.id).not_to be_nil
182
+ expect(result.status).to be MangoModel::TransactionStatus::CREATED
183
+ end
184
+ end
185
+ end
186
+ end
187
+ end
40
188
  end