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,95 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe FatZebra::Refund do
4
- let(:valid_refund_payload) {{
5
- transaction_id: transaction_id,
6
- amount: 10000,
7
- reference: reference
8
- }}
9
-
10
- describe '.create', :vcr do
11
- subject(:refund) { FatZebra::Refund.create(valid_refund_payload) }
12
-
13
- let(:purchase) { FatZebra::Purchase.create(valid_purchase_payload) }
14
- let(:transaction_id) { purchase.transaction_id }
15
- let(:reference) { purchase.reference }
16
-
17
- it { is_expected.to be_accepted }
18
- it { is_expected.to be_successful }
19
- it { expect(refund.authorization.to_s).to_not be_empty }
20
- it { expect(refund.id).to_not be_empty }
21
- it { expect(refund.card_holder).to eq('Matthew Savage') }
22
- it { expect(refund.transaction_id).to_not eq(transaction_id) }
23
- it { expect(refund.reference).to eq(reference) }
24
- it { expect(refund.currency).to eq('AUD') }
25
- it { expect(refund.response_code).to eq('00') }
26
- it { expect(refund.metadata).to eq({}) }
27
-
28
- context 'validations' do
29
- let(:valid_refund_payload) {{}}
30
-
31
- it { expect{ refund }.to raise_error(FatZebra::RequestValidationError) }
32
- end
33
- end
34
-
35
- describe '.find', :vcr do
36
- subject(:found_refund) { FatZebra::Refund.find(created_refund.reference) }
37
-
38
- let(:purchase) { FatZebra::Purchase.create(valid_purchase_payload) }
39
- let(:transaction_id) { purchase.transaction_id }
40
- let(:reference) { purchase.reference }
41
- let(:created_refund) { FatZebra::Refund.create(valid_refund_payload) }
42
-
43
- it { is_expected.to be_accepted }
44
- it { is_expected.to be_successful }
45
- it { expect(found_refund.reference).to eq(created_refund.reference) }
46
- end
47
-
48
- describe '.search', :vcr do
49
- subject(:found_refunds) { FatZebra::Refund.search }
50
-
51
- let(:created_refunds) do
52
- purchase = FatZebra::Purchase.create(valid_purchase_payload)
53
- [
54
- FatZebra::Refund.create(amount: 1000, reference: SecureRandom.hex, transaction_id: purchase.transaction_id),
55
- FatZebra::Refund.create(amount: 1000, reference: SecureRandom.hex, transaction_id: purchase.transaction_id),
56
- ]
57
- end
58
-
59
- before { created_refunds }
60
-
61
- it "responds with the newly-created refunds" do
62
- is_expected.to be_accepted
63
- expect(found_refunds.data.map(&:id)).to include(*created_refunds.map(&:id))
64
- end
65
- end
66
-
67
- describe '#void', :vcr do
68
- subject(:refund) { FatZebra::Refund.create(valid_refund_payload).void }
69
-
70
- let(:purchase) { FatZebra::Purchase.create(valid_purchase_payload) }
71
- let(:transaction_id) { purchase.transaction_id }
72
- let(:reference) { purchase.reference }
73
-
74
- it { is_expected.to be_accepted }
75
- it { is_expected.to be_successful }
76
- it { expect(refund.message).to eq('Voided') }
77
- it { expect(refund).to be_a(FatZebra::Refund) }
78
- end
79
-
80
- describe '#declined?' do
81
- subject { refund.declined? }
82
-
83
- let(:refund) { described_class.initialize_from({ 'response' => { 'refunded' => refunded } }) }
84
-
85
- context do
86
- let(:refunded) { 'Declined' }
87
- it { is_expected.to be(true) }
88
- end
89
-
90
- context do
91
- let(:refunded) { 'Approved' }
92
- it { is_expected.to be(false) }
93
- end
94
- end
95
- end
@@ -1,59 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe FatZebra::Request do
4
- describe '#initalize' do
5
- subject do
6
- FatZebra::Request
7
- .new(params)
8
- .http
9
- end
10
- let(:params) do
11
- {
12
- url: 'https://cool.dudes/v2/swagtopia.json',
13
- }.merge!(proxy_params)
14
- end
15
- let(:formatted_proxy) { [host, port].join(':') }
16
- let(:formatted_host) { URI.parse(host).host }
17
- let(:host) { "http://squidward.net" }
18
- let(:port) { 6969 }
19
-
20
- context 'with default params' do
21
- let(:proxy_params) {{}}
22
-
23
- it 'does not use a proxy configuration' do
24
- expect(subject.proxy?).to eq(false)
25
- end
26
- end
27
-
28
- context 'with env var specifying http proxy' do
29
- let(:proxy_params) {{}}
30
- before do
31
- allow(ENV).to receive(:[]).with("NO_PROXY").and_return(nil)
32
- allow(ENV).to receive(:[]).with("no_proxy").and_return(nil)
33
- allow(ENV).to receive(:[]).with("http_proxy").and_return(formatted_proxy)
34
- end
35
-
36
- it 'draws the proxy configuration from the environment var' do
37
- expect(subject.proxy?).to eq(true)
38
- expect(subject.proxy_from_env?).to eq(true)
39
- expect(subject.proxy_address).to eq(formatted_host)
40
- expect(subject.proxy_port).to eq(port)
41
- end
42
- end
43
-
44
- context 'with custom http_proxy params to the constructor passed via initializer or similar' do
45
- let(:proxy_params) do
46
- {
47
- proxy: formatted_proxy
48
- }
49
- end
50
-
51
- it 'draws the proxy host and port configuration from the environment var' do
52
- expect(subject.proxy?).to eq(true)
53
- expect(subject.proxy_from_env?).to eq(false)
54
- expect(subject.proxy_address).to eq(formatted_host)
55
- expect(subject.proxy_port).to eq(port)
56
- end
57
- end
58
- end
59
- end
@@ -1,29 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe FatZebra::Util do
4
-
5
- describe '#compact' do
6
- it { expect(FatZebra::Util.compact(test: nil, other: 'test')).to eq(other: 'test') }
7
- end
8
-
9
- describe '#encode_parameters' do
10
- it { expect(FatZebra::Util.encode_parameters(id: 42, other: 'test')).to eq("id=42&other=test") }
11
- end
12
-
13
- describe '#camelize' do
14
- it { expect(FatZebra::Util.camelize('model')).to eq("Model") }
15
- it { expect(FatZebra::Util.camelize('my_model')).to eq("MyModel") }
16
- end
17
-
18
- describe '#underscore' do
19
- it { expect(FatZebra::Util.underscore('Model')).to eq("model") }
20
- it { expect(FatZebra::Util.underscore('MyModel')).to eq("my_model") }
21
- end
22
-
23
- describe '#format_dates_in_hash' do
24
- let (:date) { DateTime.new(2050, 2, 3) }
25
-
26
- it { expect(FatZebra::Util.format_dates_in_hash(date: date)).to eq(date: '2050/02/03') }
27
- end
28
-
29
- end
@@ -1,60 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe FatZebra::Utilities::ApplePay::Domain do
4
-
5
- describe '.list', :vcr do
6
- subject(:list) { FatZebra::Utilities::ApplePay::Domain.list }
7
-
8
- it "fetches the merchant domains" do
9
- expect(list).to be_accepted
10
- expect(list.data.length).to eq(2)
11
- expect(list.data.first.raw).to eq(
12
- {
13
- "domain" => "example.com",
14
- "status" => "Active"
15
- }
16
- )
17
- expect(list.data.last.raw).to eq(
18
- {
19
- "domain" => "example2.com",
20
- "status" => "Active"
21
- }
22
- )
23
- end
24
- end
25
-
26
- describe '.register!', :vcr do
27
- subject(:create) { FatZebra::Utilities::ApplePay::Domain.register!(domain, valid_payload) }
28
-
29
- let!(:domain) { "www.example99.com" }
30
- let!(:valid_payload) {{
31
- async: false
32
- }}
33
-
34
- it "creates the domain" do
35
- expect(create).to be_accepted
36
- expect(create.domain).to eq(domain)
37
- expect(create.status).to eq("Active")
38
- end
39
- end
40
-
41
- describe '.find!', :vcr do
42
- subject(:find) { FatZebra::Utilities::ApplePay::Domain.find!(domain) }
43
- let!(:domain) { "www.example.com" }
44
-
45
- it "fetches the domain" do
46
- expect(find).to be_accepted
47
- expect(find.domain).to eq(domain)
48
- expect(find.status).to eq("Active")
49
- end
50
- end
51
-
52
- describe '.delete!', :vcr do
53
- subject(:delete) { FatZebra::Utilities::ApplePay::Domain.delete!(domain) }
54
- let!(:domain) { "www.example99.com" }
55
-
56
- it "deletes the domain" do
57
- expect(delete).to be_accepted
58
- end
59
- end
60
- end
@@ -1,22 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe FatZebra::Validation do
4
- let(:klass) { Class.new }
5
-
6
- before { klass.send(:extend, FatZebra::Validation) }
7
-
8
- describe '#valid?' do
9
- before { klass.validates(:test, required: true, on: :create) }
10
-
11
- it { expect(klass.valid?({}, :create)).to be_falsey }
12
- it { expect(klass.valid?({ test: 'valid' }, :create)).to be_truthy }
13
- it { expect(klass.valid?({}, :update)).to be_truthy }
14
- end
15
-
16
- describe '#valid!' do
17
- before { klass.validates(:test, required: true, on: :create) }
18
-
19
- it { expect { klass.valid!({}, :create) }.to raise_error(FatZebra::RequestValidationError) }
20
- end
21
-
22
- end
@@ -1,50 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe FatZebra::WebHook do
4
-
5
- let(:valid_web_hook_payload) {{
6
- events: '*',
7
- mode: 'Test',
8
- name: 'test hook',
9
- address: 'http://stage.example.com.au/v1/api/hook_listener'
10
- }}
11
-
12
- describe '.create', :vcr do
13
- subject(:web_hook) { FatZebra::WebHook.create(valid_web_hook_payload) }
14
-
15
- it { is_expected.to be_accepted }
16
- it { expect(web_hook.name).to eq('test hook') }
17
- it { expect(web_hook.id).to_not be_empty }
18
-
19
- context 'validations' do
20
- let(:valid_web_hook_payload) {{}}
21
-
22
- it { expect{ web_hook }.to raise_error(FatZebra::RequestValidationError) }
23
- end
24
- end
25
-
26
- describe '.search', :vcr do
27
- subject(:web_hooks) { FatZebra::WebHook.search }
28
-
29
- before { 2.times { |i| FatZebra::WebHook.create(valid_web_hook_payload) } }
30
-
31
- it { is_expected.to be_accepted }
32
- it { expect(web_hooks.data.count).to be >= 2 }
33
- end
34
-
35
- describe '#update', :vcr do
36
- subject(:web_hook) { FatZebra::WebHook.create(valid_web_hook_payload) }
37
- before { web_hook.update(name: 'New Test hook')}
38
-
39
- it { is_expected.to be_accepted }
40
- it { expect(web_hook.name).to eq('New Test hook') }
41
- end
42
-
43
- describe '.delete', :vcr do
44
- let(:create) { FatZebra::WebHook.create(valid_web_hook_payload) }
45
- subject(:web_hook) { FatZebra::WebHook.delete(create.id) }
46
-
47
- it { is_expected.to be_accepted }
48
- end
49
-
50
- end
data/spec/spec_helper.rb DELETED
@@ -1,53 +0,0 @@
1
- require 'rubygems'
2
- require 'bundler/setup'
3
- require 'rspec'
4
- require 'vcr'
5
- require 'webmock/rspec'
6
- require 'date'
7
-
8
- require 'fat_zebra'
9
-
10
- Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
11
-
12
- ##
13
- # Remove ID from the URL
14
- uri_ignoring_trailing_id = lambda do |request_1, request_2|
15
- uri1, uri2 = request_1.uri, request_2.uri
16
- regexp_trail_id = %r(/\d+\-[A-Z]\-.*\/)
17
- regexp_trail_id = uri1.match(regexp_trail_id) ? regexp_trail_id : %r(/\d+\-[A-Z]\-.*\z)
18
- if uri1.match(regexp_trail_id)
19
- r1_without_id = uri1.gsub(regexp_trail_id, "")
20
- r2_without_id = uri2.gsub(regexp_trail_id, "")
21
- uri1.match(regexp_trail_id) && uri2.match(regexp_trail_id) && r1_without_id == r2_without_id
22
- else
23
- VCR.request_matchers.uri_without_param(:to, :from)
24
- end
25
- end
26
-
27
- VCR.configure do |config|
28
- config.cassette_library_dir = 'spec/cassettes'
29
- config.hook_into :webmock
30
- config.configure_rspec_metadata!
31
- config.allow_http_connections_when_no_cassette = true
32
- config.default_cassette_options = { match_requests_on: [:method, :query, uri_ignoring_trailing_id] }
33
- end
34
-
35
- RSpec.configure do |config|
36
-
37
- config.expect_with :rspec do |c|
38
- c.syntax = :expect
39
- end
40
- config.mock_with :rspec
41
-
42
- config.include_context 'payloads'
43
-
44
- config.before(:each) do
45
- FatZebra.configure do |config|
46
- config.username = 'TEST'
47
- config.token = 'TEST'
48
- config.gateway = :sandbox
49
- config.test_mode = true
50
- end
51
- end
52
-
53
- end
@@ -1,178 +0,0 @@
1
- require 'rspec'
2
-
3
- shared_context 'payloads' do
4
-
5
- let(:valid_purchase_payload) {{
6
- amount: 10000,
7
- card_holder: 'Matthew Savage',
8
- card_number: '5123456789012346',
9
- card_expiry: DateTime.new(2030, 2, 3).strftime('%m/%Y'),
10
- cvv: 123,
11
- reference: SecureRandom.hex,
12
- customer_ip: '1.2.3.4'
13
- }}
14
-
15
- let(:valid_credit_card_payload) {{
16
- card_holder: 'Matthew Savage',
17
- card_number: '5123456789012346',
18
- card_expiry: DateTime.new(2030, 2, 3).strftime('%m/%Y'),
19
- cvv: 123
20
- }}
21
-
22
- let(:customer_valid_payload) {{
23
- first_name: 'Harrold',
24
- last_name: 'Humphries',
25
- reference: SecureRandom.hex,
26
- email: 'hhump@test.com',
27
- ip_address: '180.200.33.181',
28
- card: {
29
- card_holder: 'Harrold Humphries Senior',
30
- card_number: '5123456789012346',
31
- expiry_date: '05/2023',
32
- cvv: '123'
33
- },
34
- address: {
35
- address: '1 Harriet Road',
36
- city: 'Kooliablin',
37
- state: 'NSW',
38
- postcode: '2222',
39
- country: 'Australia'
40
- }
41
- }}
42
-
43
- let(:valid_sca_enrollment_payload) {{
44
- customer: {
45
- address_1: '23 Smith Road',
46
- address_2: 'North Shore',
47
- city: 'Canberra',
48
- country: 'AU',
49
- state: 'NSW',
50
- email: 'test@test.com',
51
- first_name: 'James',
52
- last_name: 'Smith',
53
- phone_number: '0444555666',
54
- post_code: '2000',
55
- passport_number: 'X1234567890',
56
- passport_country: '036',
57
- account_changed_at: '20191210',
58
- account_created_at: '20191210',
59
- account_password_changed_at: '20191210'
60
- },
61
- shipping_address: {
62
- address_1: '23 Smith Road',
63
- address_2: 'North Shore',
64
- city: 'Sydney',
65
- country: 'AU',
66
- state: 'NSW',
67
- email: 'test@test.com',
68
- first_name: 'James',
69
- last_name: 'Smith',
70
- phone_number: '0444555666',
71
- post_code: '2000',
72
- method: 'pickup',
73
- destination_code: '01',
74
- },
75
- custom: {
76
- transaction_mode: 'mobile',
77
- reference_id: SecureRandom.hex,
78
-
79
- merchant_name: 'TEST',
80
- merchant_new_customer: true,
81
- preorder: 1,
82
-
83
- http_accept: 'text/html',
84
- http_user_agent: 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0',
85
-
86
- recurring_end_date: '20201201',
87
- recurring_frequency: 3,
88
- recurring_original_purchase_date: '2019120112:00:00'
89
- },
90
- items: [
91
- {
92
- unit_price: 23.3,
93
- product_description: 'Widgets',
94
- product_name: 'Watch',
95
- quantity: 1,
96
- product_sku: '9999',
97
- passenger_first_name: 'John',
98
- passenger_last_name: 'Smith',
99
- }
100
- ],
101
- airline_data: {
102
- legs: [
103
- {
104
- carrier_code: 'code',
105
- departure_date: '20221012',
106
- destination: 'SYD',
107
- originating_airport_code: 'MEL',
108
- }
109
- ],
110
- number_of_passengers: 2,
111
- passengers: [
112
- {
113
- first_name: 'John',
114
- last_name: 'Smith',
115
- },
116
- {
117
- first_name: 'Megan',
118
- last_name: 'Doe',
119
- }
120
- ]
121
- }
122
- }}
123
-
124
- let(:valid_sca_validation_payload) {{
125
- authentication_transaction_id: SecureRandom.hex,
126
- signed_pares: SecureRandom.hex
127
- }}
128
-
129
- let(:valid_sca_authentication_payload) {{
130
- card_token: credit_card.token,
131
- amount: 100,
132
- currency: 'AUD',
133
- customer_ip: '111.111.111.111',
134
- sca: {
135
- type: 'enrollment',
136
- merchant_reference_code: SecureRandom.uuid,
137
- }
138
- }}
139
-
140
- let(:valid_charge_billing_agreement_payload) {{
141
- reference: SecureRandom.uuid,
142
- amount: 1100,
143
- currency: "AUD",
144
- customer_ip: '1.2.3.4',
145
- options: {
146
- brand_name: "EXAMPLE INC"
147
- },
148
- purchases: [{
149
- description: "Sporting Goods",
150
- custom_id: "CUST-HighFashions",
151
- soft_descriptor: "HighFashions",
152
- amount: {
153
- item_total: 900,
154
- shipping: 200
155
- },
156
- items: [{
157
- name: "T-Shirt",
158
- unit_amount: 900,
159
- qty: 1,
160
- category: "PHYSICAL_GOODS"
161
- }],
162
- shipping_address: {
163
- method: "United States Postal Service 1",
164
- address: {
165
- first_name: "John",
166
- last_name: "Doe",
167
- address_1: "100 Kent Street",
168
- address_2: "Cafe Lane",
169
- city: "Sydney",
170
- state: "NSW",
171
- postcode: "2000",
172
- country: "AU"
173
- }
174
- }
175
- }]
176
- }}
177
-
178
- end