fat_zebra 3.2.9 → 3.3.0

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 (238) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -9
  3. data/fat_zebra.gemspec +9 -9
  4. data/lib/fat_zebra/api_resource.rb +0 -1
  5. data/lib/fat_zebra/object_helper.rb +2 -2
  6. data/lib/fat_zebra/request.rb +5 -9
  7. data/lib/fat_zebra/util.rb +3 -3
  8. data/lib/fat_zebra/validation.rb +1 -1
  9. data/lib/fat_zebra/version.rb +1 -2
  10. data/lib/fat_zebra.rb +0 -1
  11. metadata +20 -246
  12. data/.buildkite/pipeline.yml +0 -34
  13. data/.gitignore +0 -8
  14. data/.rspec +0 -0
  15. data/.rubocop.yml +0 -42
  16. data/.tool-versions +0 -1
  17. data/.travis.yml +0 -8
  18. data/Gemfile +0 -6
  19. data/Rakefile +0 -10
  20. data/spec/cassettes/FatZebra_Authenticate/_authenticate/validations/1_3_5_1.yml +0 -46
  21. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_challenge_response/1_3_3_1.yml +0 -90
  22. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_challenge_response/1_3_3_2.yml +0 -90
  23. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_frictionless_response/1_3_2_1.yml +0 -90
  24. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_frictionless_response/1_3_2_2.yml +0 -90
  25. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_1.yml +0 -90
  26. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_2.yml +0 -87
  27. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_3.yml +0 -92
  28. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_4.yml +0 -91
  29. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_type_validation/1_3_4_1.yml +0 -46
  30. data/spec/cassettes/FatZebra_Authenticate/_decode_session/when_token_is_invalid/returns_error_when_invalid_token.yml +0 -47
  31. data/spec/cassettes/FatZebra_Authenticate/_decode_session/when_token_is_valid/decodes_JWT.yml +0 -87
  32. data/spec/cassettes/FatZebra_Authenticate/_session/returns_JWT_with_given_params.yml +0 -44
  33. data/spec/cassettes/FatZebra_Authenticate/_session/returns_JWT_with_no_amount.yml +0 -44
  34. data/spec/cassettes/FatZebra_Authenticate/_session/returns_error_when_amount_is_invalid.yml +0 -44
  35. data/spec/cassettes/FatZebra_Authenticate/_session/returns_error_when_currency_is_invalid.yml +0 -46
  36. data/spec/cassettes/FatZebra_BankAccount/_create/1_1_1.yml +0 -53
  37. data/spec/cassettes/FatZebra_BankAccount/_create/1_1_2.yml +0 -53
  38. data/spec/cassettes/FatZebra_BankAccount/_search/1_2_1.yml +0 -164
  39. data/spec/cassettes/FatZebra_BankAccount/_search/1_2_2.yml +0 -164
  40. data/spec/cassettes/FatZebra_BankAccount/_search/1_2_3.yml +0 -164
  41. data/spec/cassettes/FatZebra_Batch/_create/with_file/1_1_1_1.yml +0 -61
  42. data/spec/cassettes/FatZebra_Batch/_create/with_file/1_1_1_2.yml +0 -61
  43. data/spec/cassettes/FatZebra_Batch/_create/with_path/1_1_2_1.yml +0 -61
  44. data/spec/cassettes/FatZebra_Batch/_create/with_path/1_1_2_2.yml +0 -61
  45. data/spec/cassettes/FatZebra_Batch/_find/1_2_1.yml +0 -112
  46. data/spec/cassettes/FatZebra_Batch/_find/1_2_2.yml +0 -112
  47. data/spec/cassettes/FatZebra_Batch/_result/1_4_1.yml +0 -163
  48. data/spec/cassettes/FatZebra_Batch/_search/1_3_1.yml +0 -54
  49. data/spec/cassettes/FatZebra_Batch/_search/1_3_2.yml +0 -54
  50. data/spec/cassettes/FatZebra_Batch/_search/1_3_3.yml +0 -54
  51. data/spec/cassettes/FatZebra_Card/_create/1_1_1.yml +0 -54
  52. data/spec/cassettes/FatZebra_Card/_create/1_1_2.yml +0 -54
  53. data/spec/cassettes/FatZebra_Card/_create/1_1_3.yml +0 -54
  54. data/spec/cassettes/FatZebra_Card/_create/1_1_4.yml +0 -54
  55. data/spec/cassettes/FatZebra_Card/_create/1_1_5.yml +0 -54
  56. data/spec/cassettes/FatZebra_Card/_create/1_1_6.yml +0 -54
  57. data/spec/cassettes/FatZebra_Card/_find/1_3_1.yml +0 -111
  58. data/spec/cassettes/FatZebra_Card/_find/1_3_2.yml +0 -111
  59. data/spec/cassettes/FatZebra_Card/_update/1_2_1.yml +0 -105
  60. data/spec/cassettes/FatZebra_Card/_update/1_2_2.yml +0 -105
  61. data/spec/cassettes/FatZebra_Card/_update/1_2_3.yml +0 -105
  62. data/spec/cassettes/FatZebra_Card/_update/validations/1_2_4_1.yml +0 -54
  63. data/spec/cassettes/FatZebra_Customer/_create/1_1_1.yml +0 -55
  64. data/spec/cassettes/FatZebra_Customer/_create/1_1_2.yml +0 -55
  65. data/spec/cassettes/FatZebra_Customer/_create/1_1_3.yml +0 -55
  66. data/spec/cassettes/FatZebra_Customer/_create/1_1_4.yml +0 -55
  67. data/spec/cassettes/FatZebra_Customer/_create/1_1_5.yml +0 -55
  68. data/spec/cassettes/FatZebra_Customer/_create/1_1_6.yml +0 -55
  69. data/spec/cassettes/FatZebra_Customer/_delete/1_5_1.yml +0 -103
  70. data/spec/cassettes/FatZebra_Customer/_find/1_3_1.yml +0 -107
  71. data/spec/cassettes/FatZebra_Customer/_find/1_3_2.yml +0 -107
  72. data/spec/cassettes/FatZebra_Customer/_search/1_2_1.yml +0 -60
  73. data/spec/cassettes/FatZebra_Customer/_search/1_2_2.yml +0 -60
  74. data/spec/cassettes/FatZebra_Customer/_search/1_2_3.yml +0 -60
  75. data/spec/cassettes/FatZebra_Customer/_update/1_4_1.yml +0 -106
  76. data/spec/cassettes/FatZebra_Customer/_update/1_4_2.yml +0 -106
  77. data/spec/cassettes/FatZebra_DirectCredit/_create/1_1_1.yml +0 -52
  78. data/spec/cassettes/FatZebra_DirectCredit/_create/1_1_2.yml +0 -52
  79. data/spec/cassettes/FatZebra_DirectCredit/_create/1_1_3.yml +0 -52
  80. data/spec/cassettes/FatZebra_DirectCredit/_create/1_1_4.yml +0 -52
  81. data/spec/cassettes/FatZebra_DirectCredit/_create/validations/valid/1_1_5_1_1.yml +0 -52
  82. data/spec/cassettes/FatZebra_DirectCredit/_delete/1_4_1.yml +0 -99
  83. data/spec/cassettes/FatZebra_DirectCredit/_find/1_2_1.yml +0 -103
  84. data/spec/cassettes/FatZebra_DirectCredit/_find/1_2_2.yml +0 -103
  85. data/spec/cassettes/FatZebra_DirectCredit/_find/1_2_3.yml +0 -103
  86. data/spec/cassettes/FatZebra_DirectCredit/_search/1_3_1.yml +0 -152
  87. data/spec/cassettes/FatZebra_DirectCredit/_search/1_3_2.yml +0 -152
  88. data/spec/cassettes/FatZebra_DirectDebit/_create/1_1_1.yml +0 -52
  89. data/spec/cassettes/FatZebra_DirectDebit/_create/1_1_2.yml +0 -52
  90. data/spec/cassettes/FatZebra_DirectDebit/_create/1_1_3.yml +0 -52
  91. data/spec/cassettes/FatZebra_DirectDebit/_create/1_1_4.yml +0 -52
  92. data/spec/cassettes/FatZebra_DirectDebit/_create/validations/valid/1_1_5_1_1.yml +0 -52
  93. data/spec/cassettes/FatZebra_DirectDebit/_delete/1_4_1.yml +0 -99
  94. data/spec/cassettes/FatZebra_DirectDebit/_find/1_2_1.yml +0 -103
  95. data/spec/cassettes/FatZebra_DirectDebit/_find/1_2_2.yml +0 -103
  96. data/spec/cassettes/FatZebra_DirectDebit/_find/1_2_3.yml +0 -103
  97. data/spec/cassettes/FatZebra_DirectDebit/_search/1_3_1.yml +0 -152
  98. data/spec/cassettes/FatZebra_DirectDebit/_search/1_3_2.yml +0 -152
  99. data/spec/cassettes/FatZebra_Information/_ping/1_1_1.yml +0 -54
  100. data/spec/cassettes/FatZebra_Information/_ping/1_1_2.yml +0 -54
  101. data/spec/cassettes/FatZebra_PaymentPlan/_active_/1_8_1.yml +0 -222
  102. data/spec/cassettes/FatZebra_PaymentPlan/_active_/1_8_2.yml +0 -222
  103. data/spec/cassettes/FatZebra_PaymentPlan/_create/1_1_1.yml +0 -110
  104. data/spec/cassettes/FatZebra_PaymentPlan/_create/1_1_2.yml +0 -110
  105. data/spec/cassettes/FatZebra_PaymentPlan/_create/1_1_3.yml +0 -110
  106. data/spec/cassettes/FatZebra_PaymentPlan/_create/perpetual_subscription/1_1_4_1.yml +0 -183
  107. data/spec/cassettes/FatZebra_PaymentPlan/_create/perpetual_subscription/1_1_4_2.yml +0 -183
  108. data/spec/cassettes/FatZebra_PaymentPlan/_create/perpetual_subscription/1_1_4_3.yml +0 -183
  109. data/spec/cassettes/FatZebra_PaymentPlan/_delete/1_5_1.yml +0 -158
  110. data/spec/cassettes/FatZebra_PaymentPlan/_destroy/1_6_1.yml +0 -158
  111. data/spec/cassettes/FatZebra_PaymentPlan/_find/1_2_1.yml +0 -167
  112. data/spec/cassettes/FatZebra_PaymentPlan/_find/1_2_2.yml +0 -167
  113. data/spec/cassettes/FatZebra_PaymentPlan/_find/1_2_3.yml +0 -167
  114. data/spec/cassettes/FatZebra_PaymentPlan/_suspend_/1_7_1.yml +0 -166
  115. data/spec/cassettes/FatZebra_PaymentPlan/_suspend_/1_7_2.yml +0 -166
  116. data/spec/cassettes/FatZebra_PaymentPlan/_update/1_3_1.yml +0 -160
  117. data/spec/cassettes/FatZebra_PaymentPlan/_update/1_3_2.yml +0 -160
  118. data/spec/cassettes/FatZebra_PaymentPlan/_update/1_3_3.yml +0 -160
  119. data/spec/cassettes/FatZebra_PaymentPlan/_update/1_4_1.yml +0 -166
  120. data/spec/cassettes/FatZebra_PaymentPlan/_update/1_4_2.yml +0 -166
  121. data/spec/cassettes/FatZebra_Paypal_Authorization/_capture/returns_a_new_capture_record.yml +0 -45
  122. data/spec/cassettes/FatZebra_Paypal_Authorization/_find/when_found/returns_authorization.yml +0 -46
  123. data/spec/cassettes/FatZebra_Paypal_Authorization/_search/with_date_filter/returns_records_created_after_start_date.yml +0 -46
  124. data/spec/cassettes/FatZebra_Paypal_Authorization/_void/returns_a_voided_capture_record.yml +0 -44
  125. data/spec/cassettes/FatZebra_Paypal_BillingAgreement/_charge/Valid_payload/returns_a_new_order_record.yml +0 -48
  126. data/spec/cassettes/FatZebra_Paypal_BillingAgreement/_find/when_found/returns_billing_agreement.yml +0 -48
  127. data/spec/cassettes/FatZebra_Paypal_BillingAgreement/_search/with_date_filter/returns_records_created_after_start_date.yml +0 -48
  128. data/spec/cassettes/FatZebra_Paypal_Capture/_find/when_found/returns_capture.yml +0 -47
  129. data/spec/cassettes/FatZebra_Paypal_Capture/_refund/returns_a_new_refund_record.yml +0 -45
  130. data/spec/cassettes/FatZebra_Paypal_Capture/_search/with_date_filter/returns_records_created_after_start_date.yml +0 -49
  131. data/spec/cassettes/FatZebra_Paypal_Order/_find/when_found/returns_order.yml +0 -48
  132. data/spec/cassettes/FatZebra_Paypal_Order/_search/with_date_filter/returns_orders_created_after_start_date.yml +0 -55
  133. data/spec/cassettes/FatZebra_Paypal_Refund/_find/when_found/returns_refund.yml +0 -47
  134. data/spec/cassettes/FatZebra_Paypal_Refund/_search/with_date_filter/returns_all_refund_records_created_after_start_date.yml +0 -50
  135. data/spec/cassettes/FatZebra_Purchase/_capture/1_5_1.yml +0 -115
  136. data/spec/cassettes/FatZebra_Purchase/_capture/1_5_2.yml +0 -115
  137. data/spec/cassettes/FatZebra_Purchase/_capture/1_5_3.yml +0 -115
  138. data/spec/cassettes/FatZebra_Purchase/_create/1_1_1.yml +0 -53
  139. data/spec/cassettes/FatZebra_Purchase/_create/1_1_10.yml +0 -53
  140. data/spec/cassettes/FatZebra_Purchase/_create/1_1_11.yml +0 -53
  141. data/spec/cassettes/FatZebra_Purchase/_create/1_1_12.yml +0 -53
  142. data/spec/cassettes/FatZebra_Purchase/_create/1_1_13.yml +0 -53
  143. data/spec/cassettes/FatZebra_Purchase/_create/1_1_2.yml +0 -53
  144. data/spec/cassettes/FatZebra_Purchase/_create/1_1_3.yml +0 -53
  145. data/spec/cassettes/FatZebra_Purchase/_create/1_1_4.yml +0 -53
  146. data/spec/cassettes/FatZebra_Purchase/_create/1_1_5.yml +0 -53
  147. data/spec/cassettes/FatZebra_Purchase/_create/1_1_6.yml +0 -53
  148. data/spec/cassettes/FatZebra_Purchase/_create/1_1_7.yml +0 -53
  149. data/spec/cassettes/FatZebra_Purchase/_create/1_1_8.yml +0 -53
  150. data/spec/cassettes/FatZebra_Purchase/_create/1_1_9.yml +0 -53
  151. data/spec/cassettes/FatZebra_Purchase/_create/bad_request/1_1_14_1.yml +0 -55
  152. data/spec/cassettes/FatZebra_Purchase/_create/bad_request/1_1_14_2.yml +0 -55
  153. data/spec/cassettes/FatZebra_Purchase/_extend_/1_9_1.yml +0 -109
  154. data/spec/cassettes/FatZebra_Purchase/_extend_/1_9_2.yml +0 -109
  155. data/spec/cassettes/FatZebra_Purchase/_extend_/1_9_3.yml +0 -109
  156. data/spec/cassettes/FatZebra_Purchase/_find/1_2_1.yml +0 -117
  157. data/spec/cassettes/FatZebra_Purchase/_find/1_2_2.yml +0 -117
  158. data/spec/cassettes/FatZebra_Purchase/_find/1_2_3.yml +0 -117
  159. data/spec/cassettes/FatZebra_Purchase/_find/1_2_4.yml +0 -117
  160. data/spec/cassettes/FatZebra_Purchase/_increment/1_10_1.yml +0 -109
  161. data/spec/cassettes/FatZebra_Purchase/_increment/1_10_2.yml +0 -109
  162. data/spec/cassettes/FatZebra_Purchase/_increment/1_10_3.yml +0 -109
  163. data/spec/cassettes/FatZebra_Purchase/_increment/1_10_4.yml +0 -109
  164. data/spec/cassettes/FatZebra_Purchase/_refund/1_4_1.yml +0 -115
  165. data/spec/cassettes/FatZebra_Purchase/_refund/1_4_2.yml +0 -115
  166. data/spec/cassettes/FatZebra_Purchase/_refund/1_4_3.yml +0 -115
  167. data/spec/cassettes/FatZebra_Purchase/_search/1_3_1.yml +0 -164
  168. data/spec/cassettes/FatZebra_Purchase/_search/1_3_2.yml +0 -164
  169. data/spec/cassettes/FatZebra_Purchase/_search/1_3_3.yml +0 -164
  170. data/spec/cassettes/FatZebra_Purchase/_settlement/1_8_1.yml +0 -652
  171. data/spec/cassettes/FatZebra_Purchase/_settlement/1_8_2.yml +0 -652
  172. data/spec/cassettes/FatZebra_Purchase/_settlement/1_8_3.yml +0 -652
  173. data/spec/cassettes/FatZebra_Purchase/_void/1_6_1.yml +0 -103
  174. data/spec/cassettes/FatZebra_Purchase/_void/1_6_2.yml +0 -103
  175. data/spec/cassettes/FatZebra_Purchase/_void/1_6_3.yml +0 -103
  176. data/spec/cassettes/FatZebra_Purchase/_void/1_6_4.yml +0 -103
  177. data/spec/cassettes/FatZebra_Purchase/_void/1_7_1.yml +0 -103
  178. data/spec/cassettes/FatZebra_Purchase/_void/1_7_2.yml +0 -103
  179. data/spec/cassettes/FatZebra_Purchase/_void/1_7_3.yml +0 -103
  180. data/spec/cassettes/FatZebra_Purchase/_void/1_7_4.yml +0 -103
  181. data/spec/cassettes/FatZebra_Refund/_create/1_1_1.yml +0 -103
  182. data/spec/cassettes/FatZebra_Refund/_create/1_1_10.yml +0 -103
  183. data/spec/cassettes/FatZebra_Refund/_create/1_1_2.yml +0 -103
  184. data/spec/cassettes/FatZebra_Refund/_create/1_1_3.yml +0 -103
  185. data/spec/cassettes/FatZebra_Refund/_create/1_1_4.yml +0 -103
  186. data/spec/cassettes/FatZebra_Refund/_create/1_1_5.yml +0 -103
  187. data/spec/cassettes/FatZebra_Refund/_create/1_1_6.yml +0 -103
  188. data/spec/cassettes/FatZebra_Refund/_create/1_1_7.yml +0 -103
  189. data/spec/cassettes/FatZebra_Refund/_create/1_1_8.yml +0 -103
  190. data/spec/cassettes/FatZebra_Refund/_create/1_1_9.yml +0 -103
  191. data/spec/cassettes/FatZebra_Refund/_find/1_2_1.yml +0 -155
  192. data/spec/cassettes/FatZebra_Refund/_find/1_2_2.yml +0 -155
  193. data/spec/cassettes/FatZebra_Refund/_find/1_2_3.yml +0 -155
  194. data/spec/cassettes/FatZebra_Refund/_search/responds_with_the_newly-created_refunds.yml +0 -214
  195. data/spec/cassettes/FatZebra_Refund/_void/1_4_1.yml +0 -153
  196. data/spec/cassettes/FatZebra_Refund/_void/1_4_2.yml +0 -153
  197. data/spec/cassettes/FatZebra_Refund/_void/1_4_3.yml +0 -153
  198. data/spec/cassettes/FatZebra_Refund/_void/1_4_4.yml +0 -153
  199. data/spec/cassettes/FatZebra_Utilities_ApplePay_Domain/_delete_/deletes_the_domain.yml +0 -52
  200. data/spec/cassettes/FatZebra_Utilities_ApplePay_Domain/_find_/fetches_the_domain.yml +0 -86
  201. data/spec/cassettes/FatZebra_Utilities_ApplePay_Domain/_list/fetches_the_merchant_domains.yml +0 -86
  202. data/spec/cassettes/FatZebra_Utilities_ApplePay_Domain/_register_/creates_the_domain.yml +0 -84
  203. data/spec/cassettes/FatZebra_WebHook/_create/1_1_1.yml +0 -53
  204. data/spec/cassettes/FatZebra_WebHook/_create/1_1_2.yml +0 -53
  205. data/spec/cassettes/FatZebra_WebHook/_create/1_1_3.yml +0 -53
  206. data/spec/cassettes/FatZebra_WebHook/_delete/1_4_1.yml +0 -101
  207. data/spec/cassettes/FatZebra_WebHook/_search/1_2_1.yml +0 -298
  208. data/spec/cassettes/FatZebra_WebHook/_search/1_2_2.yml +0 -300
  209. data/spec/cassettes/FatZebra_WebHook/_update/1_3_1.yml +0 -104
  210. data/spec/cassettes/FatZebra_WebHook/_update/1_3_2.yml +0 -104
  211. data/spec/fixtures/batch_test.csv +0 -4
  212. data/spec/lib/fat_zebra/api_resource_spec.rb +0 -25
  213. data/spec/lib/fat_zebra/authenticate_spec.rb +0 -187
  214. data/spec/lib/fat_zebra/bank_account_spec.rb +0 -34
  215. data/spec/lib/fat_zebra/batch_spec.rb +0 -59
  216. data/spec/lib/fat_zebra/card_spec.rb +0 -49
  217. data/spec/lib/fat_zebra/config_spec.rb +0 -69
  218. data/spec/lib/fat_zebra/customer_spec.rb +0 -53
  219. data/spec/lib/fat_zebra/direct_credit_spec.rb +0 -74
  220. data/spec/lib/fat_zebra/direct_debit_spec.rb +0 -74
  221. data/spec/lib/fat_zebra/fat_zebra_object_spec.rb +0 -117
  222. data/spec/lib/fat_zebra/information_spec.rb +0 -13
  223. data/spec/lib/fat_zebra/payment_plan_spec.rb +0 -117
  224. data/spec/lib/fat_zebra/paypal/authorization_spec.rb +0 -79
  225. data/spec/lib/fat_zebra/paypal/billing_agreement_spec.rb +0 -62
  226. data/spec/lib/fat_zebra/paypal/capture_spec.rb +0 -60
  227. data/spec/lib/fat_zebra/paypal/order_spec.rb +0 -35
  228. data/spec/lib/fat_zebra/paypal/refund_spec.rb +0 -36
  229. data/spec/lib/fat_zebra/purchase_spec.rb +0 -123
  230. data/spec/lib/fat_zebra/refund_spec.rb +0 -95
  231. data/spec/lib/fat_zebra/request_spec.rb +0 -59
  232. data/spec/lib/fat_zebra/util_spec.rb +0 -29
  233. data/spec/lib/fat_zebra/utilities/apple_pay/domain_spec.rb +0 -60
  234. data/spec/lib/fat_zebra/validation_spec.rb +0 -22
  235. data/spec/lib/fat_zebra/web_hook_spec.rb +0 -50
  236. data/spec/spec_helper.rb +0 -53
  237. data/spec/support/payloads.rb +0 -178
  238. data/vendor/cacert.pem +0 -3390
@@ -1,187 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe FatZebra::Authenticate do
4
- describe '.session', :vcr do
5
- subject(:token) { FatZebra::Authenticate.session(valid_3ds_token_payload) }
6
-
7
- let(:valid_3ds_token_payload) {{
8
- currency: 'AUD',
9
- amount: 100
10
- }}
11
-
12
- it 'returns JWT with given params' do
13
- is_expected.to be_accepted
14
- expect(token.jwt).to be_truthy
15
- end
16
-
17
- it 'returns JWT with no amount' do
18
- valid_3ds_token_payload.delete(:amount)
19
- is_expected.to be_accepted
20
- expect(token.jwt).to be_truthy
21
- end
22
-
23
- it 'returns error when currency is invalid' do
24
- valid_3ds_token_payload[:currency] = 'INVALID'
25
- is_expected.not_to be_accepted
26
- expect(token.errors).to be_a(Array)
27
- expect(token.errors.join).to match(/INVALID is not valid for this merchant. Permitted currencies:/)
28
- end
29
-
30
- it 'returns error when amount is invalid' do
31
- valid_3ds_token_payload[:amount] = 'INVALID'
32
- is_expected.not_to be_accepted
33
- expect(token.errors).to eq(['Amount is invalid'])
34
- end
35
- end
36
-
37
- describe '.decode_session', :vcr do
38
- subject(:decoded) { FatZebra::Authenticate.decode_session(token: jwt) }
39
-
40
- context 'when token is valid' do
41
- let(:valid_3ds_token_payload) {{
42
- currency: 'AUD',
43
- amount: 100
44
- }}
45
- let(:jwt) { FatZebra::Authenticate.session(valid_3ds_token_payload).jwt }
46
-
47
- it 'decodes JWT' do
48
- is_expected.to be_accepted
49
- expect(decoded.keys).to include('processor_transaction_id', 'consumer_session_id', 'error_number', 'error_description')
50
- expect(decoded.errors).to be_empty
51
- end
52
- end
53
-
54
- context 'when token is invalid' do
55
- let(:jwt) { 'INVALID TOKEN' }
56
-
57
- it 'returns error when invalid token' do
58
- is_expected.not_to be_accepted
59
- expect(decoded.errors).to eq(['Decoding JWT failed: The token is invalid'])
60
- end
61
- end
62
- end
63
-
64
- describe '.authenticate', :vcr do
65
- subject(:authenticate) { FatZebra::Authenticate.authenticate(valid_sca_authentication_payload) }
66
- let!(:credit_card) { FatZebra::Card.create(valid_credit_card_payload) }
67
-
68
- context 'with invalid input' do
69
- before do
70
- valid_sca_authentication_payload[:sca].merge!(valid_sca_enrollment_payload)
71
- end
72
-
73
- it do
74
- valid_sca_authentication_payload[:card_token] = 'INVALID'
75
- is_expected.not_to be_accepted
76
- expect(authenticate.errors.join).to match(/Card not found/)
77
- end
78
-
79
- it do
80
- valid_sca_authentication_payload[:sca] = {}
81
- is_expected.not_to be_accepted
82
- expect(authenticate.errors.join).to match(/Invalid input data/)
83
- end
84
-
85
- it do
86
- valid_sca_authentication_payload[:currency] = 'INVALID'
87
- is_expected.not_to be_accepted
88
- expect(authenticate.errors.join).to match(/INVALID is not valid for this merchant. Permitted currencies:/)
89
- end
90
-
91
- it do
92
- valid_sca_authentication_payload[:amount] = 'INVALID'
93
- is_expected.not_to be_accepted
94
- expect(authenticate.errors.join).to match(/3DS authenticate request failed: amount must be filled/)
95
- end
96
- end
97
-
98
- context 'with frictionless response' do
99
- before do
100
- valid_credit_card_payload[:card_number] = '4000000000001000'
101
- valid_sca_authentication_payload[:sca].merge!(valid_sca_enrollment_payload)
102
- end
103
-
104
- it do
105
- is_expected.to be_accepted
106
- expect(authenticate.keys).to include('enrolled', 'acs_url', 'version', 'card_bin', 'authentication_transaction_id')
107
- expect(authenticate.errors).to be_empty
108
- end
109
-
110
- it do
111
- expect(authenticate.enrolled).to be_truthy
112
- expect(authenticate.version).to be_truthy
113
- expect(authenticate.card_bin).to be_truthy
114
- expect(authenticate.authentication_transaction_id).to be_truthy
115
- end
116
- end
117
-
118
- context 'with challenge response' do
119
- before do
120
- valid_credit_card_payload[:card_number] = '4000000000001091'
121
- valid_sca_authentication_payload[:sca].merge!(valid_sca_enrollment_payload)
122
- end
123
-
124
- it do
125
- is_expected.to be_accepted
126
- expect(authenticate.keys).to include('enrolled', 'version', 'card_bin', 'authentication_transaction_id')
127
- expect(authenticate.errors).to be_empty
128
- end
129
-
130
- it do
131
- expect(authenticate.enrolled).to be_truthy
132
- expect(authenticate.version).to be_truthy
133
- expect(authenticate.card_bin).to be_truthy
134
- expect(authenticate.authentication_transaction_id).to be_truthy
135
- end
136
- end
137
-
138
- context 'with type = validation' do
139
- subject(:authenticate) { FatZebra::Authenticate.authenticate(valid_sca_authentication_payload) }
140
-
141
- before do
142
- allow(FatZebra::Authenticate).to receive(:authenticate)
143
- .with(valid_sca_authentication_payload)
144
- .and_return(FatZebra::FatZebraObject.initialize_from(validation_response.to_json))
145
-
146
- valid_credit_card_payload[:card_number] = '4000000000001091'
147
- valid_sca_authentication_payload[:sca][:type] = 'validation'
148
- valid_sca_authentication_payload[:sca].merge!(valid_sca_validation_payload)
149
- end
150
-
151
- let(:validation_response) do
152
- {
153
- successful: true,
154
- response: {
155
- action: {
156
- proceed: true
157
- },
158
- version: '2.2.0',
159
- enrolled: 'Y',
160
- cavv: SecureRandom.hex,
161
- xid: SecureRandom.hex,
162
- pares: 'Y',
163
- eci: '05',
164
- authentication_transaction_id: SecureRandom.hex,
165
- card_bin: '400000',
166
- request_id: SecureRandom.hex,
167
- decision: 'ACCEPT'
168
- },
169
- errors: [],
170
- test: true
171
- }
172
- end
173
-
174
- it do
175
- is_expected.to be_accepted
176
- expect(authenticate.keys).to include('enrolled', 'version', 'card_bin', 'authentication_transaction_id', 'cavv', 'eci', 'xid', 'pares')
177
- expect(authenticate.errors).to be_empty
178
- end
179
- end
180
-
181
- context 'validations' do
182
- let(:valid_sca_authentication_payload) {{}}
183
-
184
- it { expect{ authenticate }.to raise_error(FatZebra::RequestValidationError) }
185
- end
186
- end
187
- end
@@ -1,34 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe FatZebra::BankAccount do
4
-
5
- let(:valid_bank_account_payload) {{
6
- bsb: '123-123',
7
- account_name: 'Test name',
8
- account_number: '012345678'
9
- }}
10
-
11
- describe '.create', :vcr do
12
- subject(:bank_account) { FatZebra::BankAccount.create(valid_bank_account_payload) }
13
-
14
- it { is_expected.to be_accepted }
15
- it { expect(bank_account.id).to_not be_empty }
16
-
17
- context 'validations' do
18
- let(:valid_bank_account_payload) {{}}
19
-
20
- it { expect{ bank_account }.to raise_error(FatZebra::RequestValidationError) }
21
- end
22
- end
23
-
24
- describe '.search', :vcr do
25
- subject(:bank_accounts) { FatZebra::BankAccount.search }
26
-
27
- before { 2.times { |i| FatZebra::BankAccount.create(valid_bank_account_payload) } }
28
-
29
- it { is_expected.to be_accepted }
30
- it { expect(bank_accounts.data.count).to be >= 2 }
31
- it { expect(bank_accounts.data.first).to be_a(FatZebra::BankAccount) }
32
- end
33
-
34
- end
@@ -1,59 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe FatZebra::Batch do
4
- let(:batch_path) { "#{File.dirname(__FILE__)}/../../fixtures/batch_test.csv" }
5
-
6
- let(:valid_batch_payload) {{
7
- file: File.new(batch_path),
8
- filename: "BATCH-v1-PURCHASE-TEST-#{Time.now.strftime('%Y%m%d')}-#{SecureRandom.hex}.csv"
9
- }}
10
-
11
- describe '.create', :vcr do
12
- subject(:batch) { FatZebra::Batch.create(valid_batch_payload) }
13
-
14
- context 'with file' do
15
- it { is_expected.to be_accepted }
16
- it { expect(batch.reference).to_not be_empty }
17
- end
18
-
19
- context 'with path' do
20
- let(:valid_batch_payload) {{
21
- path: batch_path,
22
- filename: "BATCH-v1-PURCHASE-TEST-#{Time.now.strftime('%Y%m%d')}-#{SecureRandom.hex}.csv"
23
- }}
24
-
25
- it { is_expected.to be_accepted }
26
- it { expect(batch.reference).to_not be_empty }
27
- end
28
-
29
- context 'validations' do
30
- let(:valid_batch_payload) {{}}
31
-
32
- it { expect{ batch }.to raise_error(FatZebra::RequestValidationError) }
33
- end
34
- end
35
-
36
- describe '.find', :vcr do
37
- let(:create) { FatZebra::Batch.create(valid_batch_payload) }
38
- subject(:batch) { FatZebra::Batch.find(create.reference) }
39
-
40
- it { is_expected.to be_accepted }
41
- it { expect(batch.reference).to eq(create.reference) }
42
- end
43
-
44
- describe '.search', :vcr do
45
- subject(:batches) { FatZebra::Batch.search }
46
-
47
- it { is_expected.to be_accepted }
48
- it { expect(batches.data.count).to be >= 2 }
49
- it { expect(batches.data.first).to be_a(FatZebra::Batch) }
50
- end
51
-
52
- describe '#result', :vcr do
53
- let(:create) { FatZebra::Batch.create(valid_batch_payload) }
54
- let(:batch) { FatZebra::Batch.find(create.reference) }
55
-
56
- it { expect(batch.result).to eq("Batch is not yet completed") }
57
- end
58
-
59
- end
@@ -1,49 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe FatZebra::Card do
4
-
5
- describe '.create', :vcr do
6
- subject(:credit_card) { FatZebra::Card.create(valid_credit_card_payload) }
7
-
8
- it { is_expected.to be_accepted }
9
- it { expect(credit_card.token).to_not be_empty }
10
- it { expect(credit_card.card_holder).to eq('Matthew Savage') }
11
- it { expect(credit_card.card_number).to_not be_empty }
12
- it { expect(credit_card.card_type).to eq('MasterCard') }
13
- it { expect(credit_card.authorized?).to be_truthy }
14
-
15
- context 'validations' do
16
- let(:valid_credit_card_payload) {{}}
17
-
18
- it { expect{ credit_card }.to raise_error(FatZebra::RequestValidationError) }
19
- end
20
- end
21
-
22
- describe '.update', :vcr do
23
- let(:valid_credit_card_update_payload) {{
24
- card_expiry: DateTime.new(2050, 2, 3).strftime('%m/%Y'),
25
- }}
26
-
27
- let(:create) { FatZebra::Card.create(valid_credit_card_payload) }
28
- subject(:credit_card) { FatZebra::Card.update(create.token, valid_credit_card_update_payload) }
29
-
30
- it { is_expected.to be_accepted }
31
- it { expect(credit_card.token).to eq(create.token) }
32
- it { expect(credit_card.card_expiry).to_not eq(create.card_expiry) }
33
-
34
- context 'validations' do
35
- let(:valid_credit_card_update_payload) {{}}
36
-
37
- it { expect{ credit_card }.to raise_error(FatZebra::RequestValidationError) }
38
- end
39
- end
40
-
41
- describe '.find', :vcr do
42
- let(:create) { FatZebra::Card.create(valid_credit_card_payload) }
43
- subject(:card) { FatZebra::Card.find(create.token) }
44
-
45
- it { is_expected.to be_accepted }
46
- it { expect(card.token).to eq(create.token) }
47
- end
48
-
49
- end
@@ -1,69 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe FatZebra::Config do
4
- let(:params) {{
5
- token: 'my-token',
6
- username: 'my-username'
7
- }}
8
-
9
- subject(:config) { FatZebra::Config.new(params) }
10
-
11
- describe '#initialize' do
12
- it { expect(config.valid!).to be_truthy }
13
- it { expect(config.token).to eq(params[:token]) }
14
- it { expect(config.username).to eq(params[:username]) }
15
- it { expect(config.gateway).to eq('gateway.fatzebra.com.au') }
16
- it { expect(config.test_mode).to be_falsey }
17
- it { expect(config.http_secure).to be_truthy }
18
- it { expect(config.api_version).to eq('v1.0') }
19
-
20
- context 'with all params' do
21
- let(:params) {{
22
- token: 'my-token',
23
- username: 'my-username',
24
- gateway: 'my-gateway',
25
- test_mode: 'my-test_mode',
26
- http_secure: 'my-http_secure',
27
- api_version: 'my-api_version',
28
- proxy: 'my-proxy'
29
- }}
30
-
31
- it { expect(config.valid!).to be_truthy }
32
- it { expect(config.gateway).to eq(params[:gateway]) }
33
- it { expect(config.test_mode).to eq(params[:test_mode]) }
34
- it { expect(config.http_secure).to eq(params[:http_secure]) }
35
- it { expect(config.api_version).to eq(params[:api_version]) }
36
- it { expect(config.proxy).to eq(params[:proxy]) }
37
- end
38
-
39
- %i[username token].each do |field|
40
- context "validate #{field}" do
41
- let(:params) {{ token: 'my-token', username: 'my-username' }.merge(field => '')}
42
-
43
- it { expect { config.valid! }.to raise_error(FatZebra::ConfigurationError, "#{field} can't be blank") }
44
- end
45
- end
46
-
47
- context 'with gateway' do
48
- before { expect(config.valid!).to be_truthy }
49
-
50
- context 'with production' do
51
- subject(:config) { FatZebra::Config.new(params.merge(gateway: :production)) }
52
-
53
- it { expect(config.gateway).to eq('gateway.fatzebra.com.au') }
54
- end
55
- end
56
-
57
- context 'remove http' do
58
- let(:params) {{
59
- token: 'my-token',
60
- username: 'my-username',
61
- gateway: 'http://my-gateway',
62
- proxy: 'https://my-proxy'
63
- }}
64
-
65
- it { expect(config.gateway).to eq('my-gateway') }
66
- end
67
-
68
- end
69
- end
@@ -1,53 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe FatZebra::Customer do
4
-
5
- describe '.create', :vcr do
6
- subject(:customer) { FatZebra::Customer.create(customer_valid_payload) }
7
-
8
- it { is_expected.to be_accepted }
9
- it { expect(customer.id).to_not be_empty }
10
- it { expect(customer.first_name).to eq(customer_valid_payload[:first_name]) }
11
- it { expect(customer.last_name).to eq(customer_valid_payload[:last_name]) }
12
- it { expect(customer.card_token).to_not be_empty }
13
- it { expect(customer.bank_account).to be_nil }
14
-
15
- context 'validations' do
16
- let(:customer_valid_payload) {{}}
17
-
18
- it { expect{ customer }.to raise_error(FatZebra::RequestValidationError) }
19
- end
20
- end
21
-
22
- describe '.search', :vcr do
23
- subject(:purchases) { FatZebra::Customer.search }
24
-
25
- it { is_expected.to be_accepted }
26
- it { expect(purchases.data.count).to be >= 2 }
27
- it { expect(purchases.data.first).to be_a(FatZebra::Customer) }
28
- end
29
-
30
- describe '.find', :vcr do
31
- let!(:create) { FatZebra::Customer.create(customer_valid_payload) }
32
- subject(:customer) { FatZebra::Customer.find(create.reference) }
33
-
34
- it { is_expected.to be_accepted }
35
- it { expect(customer.reference).to eq(create.reference) }
36
- end
37
-
38
- describe '.update', :vcr do
39
- let(:create) { FatZebra::Customer.create(customer_valid_payload) }
40
- subject(:customer) { FatZebra::Customer.update(create.id, first_name: 'New Name') }
41
-
42
- it { is_expected.to be_accepted }
43
- it { expect(customer.first_name).to eq('New Name') }
44
- end
45
-
46
- describe '.delete', :vcr do
47
- let(:create) { FatZebra::Customer.create(customer_valid_payload) }
48
- subject(:customer) { FatZebra::Customer.delete(create.id) }
49
-
50
- it { is_expected.to be_accepted }
51
- end
52
-
53
- end
@@ -1,74 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe FatZebra::DirectCredit do
4
-
5
- let(:valid_direct_credit_payload) {{
6
- description: 'Confirmation',
7
- amount: 42.0,
8
- bsb: '123-123',
9
- account_name: 'Test',
10
- account_number: '012345678'
11
- }}
12
-
13
- describe '.create', :vcr do
14
- subject(:direct_credit) { FatZebra::DirectCredit.create(valid_direct_credit_payload) }
15
-
16
- it { is_expected.to be_accepted }
17
- it { expect(direct_credit.bsb).to eq(valid_direct_credit_payload[:bsb]) }
18
- it { expect(direct_credit.reference).to_not be_empty }
19
- it { expect(direct_credit.id).to_not be_empty }
20
-
21
- context 'validations' do
22
- context 'valid' do
23
- before { valid_direct_credit_payload[:amount] = 42.42 }
24
-
25
- it { is_expected.to be_accepted }
26
- end
27
-
28
- context 'failed' do
29
- let(:valid_direct_credit_payload) {{}}
30
-
31
- it { expect{ direct_credit }.to raise_error(FatZebra::RequestValidationError) }
32
- end
33
-
34
- context 'failed with non-float' do
35
- let(:valid_direct_credit_payload) {{
36
- description: 'Confirmation',
37
- amount: 123,
38
- bsb: '123-123',
39
- account_name: 'Test',
40
- account_number: '012345678'
41
- }}
42
-
43
- it { expect{ direct_credit }.to raise_error(FatZebra::RequestValidationError) }
44
- end
45
- end
46
- end
47
-
48
- describe '.find', :vcr do
49
- let!(:create) { FatZebra::DirectCredit.create(valid_direct_credit_payload) }
50
- subject(:direct_credit) { FatZebra::DirectCredit.find(create.reference) }
51
-
52
- it { is_expected.to be_accepted }
53
- it { expect(direct_credit.reference).to eq(create.reference) }
54
- it { expect(direct_credit.amount).to be_instance_of(Float) }
55
- end
56
-
57
- describe '.search', :vcr do
58
- let!(:start) { Time.now }
59
- subject(:direct_credits) { FatZebra::DirectCredit.search }
60
-
61
- before { 2.times { |i| FatZebra::DirectCredit.create(valid_direct_credit_payload) } }
62
-
63
- it { is_expected.to be_accepted }
64
- it { expect(direct_credits.data.count).to be >= 2 }
65
- end
66
-
67
- describe '.delete', :vcr do
68
- let(:create) { FatZebra::DirectCredit.create(valid_direct_credit_payload) }
69
- subject(:direct_credit) { FatZebra::DirectCredit.delete(create.id) }
70
-
71
- it { is_expected.to be_accepted }
72
- end
73
-
74
- end
@@ -1,74 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe FatZebra::DirectDebit do
4
-
5
- let(:valid_direct_debit_payload) {{
6
- description: 'Confirmation',
7
- amount: 42.0,
8
- bsb: '123-123',
9
- account_name: 'Test',
10
- account_number: '012345678'
11
- }}
12
-
13
- describe '.create', :vcr do
14
- subject(:direct_debit) { FatZebra::DirectDebit.create(valid_direct_debit_payload) }
15
-
16
- it { is_expected.to be_accepted }
17
- it { expect(direct_debit.bsb).to eq(valid_direct_debit_payload[:bsb]) }
18
- it { expect(direct_debit.reference).to_not be_empty }
19
- it { expect(direct_debit.id).to_not be_empty }
20
-
21
- context 'validations' do
22
- context 'valid' do
23
- before { valid_direct_debit_payload[:amount] = 42.42 }
24
-
25
- it { is_expected.to be_accepted }
26
- end
27
-
28
- context 'failed' do
29
- let(:valid_direct_debit_payload) {{}}
30
-
31
- it { expect{ direct_debit }.to raise_error(FatZebra::RequestValidationError) }
32
- end
33
-
34
- context 'failed with non-float' do
35
- let(:valid_direct_debit_payload) {{
36
- description: 'Confirmation',
37
- amount: 123,
38
- bsb: '123-123',
39
- account_name: 'Test',
40
- account_number: '012345678'
41
- }}
42
-
43
- it { expect{ direct_debit }.to raise_error(FatZebra::RequestValidationError) }
44
- end
45
- end
46
- end
47
-
48
- describe '.find', :vcr do
49
- let!(:create) { FatZebra::DirectDebit.create(valid_direct_debit_payload) }
50
- subject(:direct_debit) { FatZebra::DirectDebit.find(create.reference) }
51
-
52
- it { is_expected.to be_accepted }
53
- it { expect(direct_debit.reference).to eq(create.reference) }
54
- it { expect(direct_debit.amount).to be_instance_of(Float) }
55
- end
56
-
57
- describe '.search', :vcr do
58
- let!(:start) { Time.now }
59
- subject(:direct_debits) { FatZebra::DirectDebit.search }
60
-
61
- before { 2.times { |i| FatZebra::DirectDebit.create(valid_direct_debit_payload) } }
62
-
63
- it { is_expected.to be_accepted }
64
- it { expect(direct_debits.data.count).to be >= 2 }
65
- end
66
-
67
- describe '.delete', :vcr do
68
- let(:create) { FatZebra::DirectDebit.create(valid_direct_debit_payload) }
69
- subject(:direct_debit) { FatZebra::DirectDebit.delete(create.id) }
70
-
71
- it { is_expected.to be_accepted }
72
- end
73
-
74
- end