ghazel-activemerchant 1.4.2

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 (296) hide show
  1. data/CHANGELOG +473 -0
  2. data/CONTRIBUTORS +126 -0
  3. data/MIT-LICENSE +20 -0
  4. data/README +135 -0
  5. data/Rakefile +153 -0
  6. data/gem-public_cert.pem +20 -0
  7. data/init.rb +3 -0
  8. data/lib/active_merchant.rb +60 -0
  9. data/lib/active_merchant/billing/avs_result.rb +98 -0
  10. data/lib/active_merchant/billing/base.rb +57 -0
  11. data/lib/active_merchant/billing/check.rb +68 -0
  12. data/lib/active_merchant/billing/credit_card.rb +159 -0
  13. data/lib/active_merchant/billing/credit_card_formatting.rb +21 -0
  14. data/lib/active_merchant/billing/credit_card_methods.rb +125 -0
  15. data/lib/active_merchant/billing/cvv_result.rb +38 -0
  16. data/lib/active_merchant/billing/expiry_date.rb +34 -0
  17. data/lib/active_merchant/billing/gateway.rb +158 -0
  18. data/lib/active_merchant/billing/gateways.rb +3 -0
  19. data/lib/active_merchant/billing/gateways/authorize_net.rb +657 -0
  20. data/lib/active_merchant/billing/gateways/authorize_net_cim.rb +736 -0
  21. data/lib/active_merchant/billing/gateways/beanstream.rb +102 -0
  22. data/lib/active_merchant/billing/gateways/beanstream/beanstream_core.rb +233 -0
  23. data/lib/active_merchant/billing/gateways/beanstream_interac.rb +54 -0
  24. data/lib/active_merchant/billing/gateways/bogus.rb +98 -0
  25. data/lib/active_merchant/billing/gateways/braintree.rb +17 -0
  26. data/lib/active_merchant/billing/gateways/card_stream.rb +230 -0
  27. data/lib/active_merchant/billing/gateways/cyber_source.rb +406 -0
  28. data/lib/active_merchant/billing/gateways/data_cash.rb +595 -0
  29. data/lib/active_merchant/billing/gateways/efsnet.rb +229 -0
  30. data/lib/active_merchant/billing/gateways/elavon.rb +106 -0
  31. data/lib/active_merchant/billing/gateways/eway.rb +277 -0
  32. data/lib/active_merchant/billing/gateways/exact.rb +222 -0
  33. data/lib/active_merchant/billing/gateways/first_pay.rb +172 -0
  34. data/lib/active_merchant/billing/gateways/instapay.rb +164 -0
  35. data/lib/active_merchant/billing/gateways/jetpay.rb +270 -0
  36. data/lib/active_merchant/billing/gateways/linkpoint.rb +449 -0
  37. data/lib/active_merchant/billing/gateways/merchant_e_solutions.rb +154 -0
  38. data/lib/active_merchant/billing/gateways/merchant_ware.rb +283 -0
  39. data/lib/active_merchant/billing/gateways/modern_payments.rb +36 -0
  40. data/lib/active_merchant/billing/gateways/modern_payments_cim.rb +214 -0
  41. data/lib/active_merchant/billing/gateways/moneris.rb +205 -0
  42. data/lib/active_merchant/billing/gateways/net_registry.rb +189 -0
  43. data/lib/active_merchant/billing/gateways/netbilling.rb +168 -0
  44. data/lib/active_merchant/billing/gateways/ogone.rb +279 -0
  45. data/lib/active_merchant/billing/gateways/pay_junction.rb +392 -0
  46. data/lib/active_merchant/billing/gateways/pay_secure.rb +120 -0
  47. data/lib/active_merchant/billing/gateways/payflow.rb +236 -0
  48. data/lib/active_merchant/billing/gateways/payflow/payflow_common_api.rb +207 -0
  49. data/lib/active_merchant/billing/gateways/payflow/payflow_express_response.rb +39 -0
  50. data/lib/active_merchant/billing/gateways/payflow/payflow_response.rb +13 -0
  51. data/lib/active_merchant/billing/gateways/payflow_express.rb +138 -0
  52. data/lib/active_merchant/billing/gateways/payflow_express_uk.rb +15 -0
  53. data/lib/active_merchant/billing/gateways/payflow_uk.rb +21 -0
  54. data/lib/active_merchant/billing/gateways/payment_express.rb +230 -0
  55. data/lib/active_merchant/billing/gateways/paypal.rb +121 -0
  56. data/lib/active_merchant/billing/gateways/paypal/paypal_common_api.rb +326 -0
  57. data/lib/active_merchant/billing/gateways/paypal/paypal_express_response.rb +38 -0
  58. data/lib/active_merchant/billing/gateways/paypal_ca.rb +13 -0
  59. data/lib/active_merchant/billing/gateways/paypal_express.rb +130 -0
  60. data/lib/active_merchant/billing/gateways/paypal_express_common.rb +20 -0
  61. data/lib/active_merchant/billing/gateways/paypal_express_recurring.rb +310 -0
  62. data/lib/active_merchant/billing/gateways/plugnpay.rb +292 -0
  63. data/lib/active_merchant/billing/gateways/psigate.rb +214 -0
  64. data/lib/active_merchant/billing/gateways/psl_card.rb +306 -0
  65. data/lib/active_merchant/billing/gateways/quickpay.rb +213 -0
  66. data/lib/active_merchant/billing/gateways/realex.rb +200 -0
  67. data/lib/active_merchant/billing/gateways/sage.rb +146 -0
  68. data/lib/active_merchant/billing/gateways/sage/sage_bankcard.rb +88 -0
  69. data/lib/active_merchant/billing/gateways/sage/sage_core.rb +116 -0
  70. data/lib/active_merchant/billing/gateways/sage/sage_virtual_check.rb +97 -0
  71. data/lib/active_merchant/billing/gateways/sage_pay.rb +308 -0
  72. data/lib/active_merchant/billing/gateways/sallie_mae.rb +144 -0
  73. data/lib/active_merchant/billing/gateways/secure_pay.rb +31 -0
  74. data/lib/active_merchant/billing/gateways/secure_pay_au.rb +157 -0
  75. data/lib/active_merchant/billing/gateways/secure_pay_tech.rb +113 -0
  76. data/lib/active_merchant/billing/gateways/skip_jack.rb +452 -0
  77. data/lib/active_merchant/billing/gateways/smart_ps.rb +254 -0
  78. data/lib/active_merchant/billing/gateways/trans_first.rb +127 -0
  79. data/lib/active_merchant/billing/gateways/transax.rb +26 -0
  80. data/lib/active_merchant/billing/gateways/trust_commerce.rb +418 -0
  81. data/lib/active_merchant/billing/gateways/usa_epay.rb +194 -0
  82. data/lib/active_merchant/billing/gateways/verifi.rb +228 -0
  83. data/lib/active_merchant/billing/gateways/viaklix.rb +189 -0
  84. data/lib/active_merchant/billing/gateways/wirecard.rb +318 -0
  85. data/lib/active_merchant/billing/integrations.rb +22 -0
  86. data/lib/active_merchant/billing/integrations/action_view_helper.rb +79 -0
  87. data/lib/active_merchant/billing/integrations/bogus.rb +22 -0
  88. data/lib/active_merchant/billing/integrations/bogus/helper.rb +17 -0
  89. data/lib/active_merchant/billing/integrations/bogus/notification.rb +11 -0
  90. data/lib/active_merchant/billing/integrations/bogus/return.rb +10 -0
  91. data/lib/active_merchant/billing/integrations/chronopay.rb +22 -0
  92. data/lib/active_merchant/billing/integrations/chronopay/helper.rb +81 -0
  93. data/lib/active_merchant/billing/integrations/chronopay/notification.rb +156 -0
  94. data/lib/active_merchant/billing/integrations/chronopay/return.rb +10 -0
  95. data/lib/active_merchant/billing/integrations/gestpay.rb +26 -0
  96. data/lib/active_merchant/billing/integrations/gestpay/common.rb +42 -0
  97. data/lib/active_merchant/billing/integrations/gestpay/helper.rb +70 -0
  98. data/lib/active_merchant/billing/integrations/gestpay/notification.rb +83 -0
  99. data/lib/active_merchant/billing/integrations/gestpay/return.rb +10 -0
  100. data/lib/active_merchant/billing/integrations/helper.rb +93 -0
  101. data/lib/active_merchant/billing/integrations/hi_trust.rb +26 -0
  102. data/lib/active_merchant/billing/integrations/hi_trust/helper.rb +58 -0
  103. data/lib/active_merchant/billing/integrations/hi_trust/notification.rb +59 -0
  104. data/lib/active_merchant/billing/integrations/hi_trust/return.rb +67 -0
  105. data/lib/active_merchant/billing/integrations/nochex.rb +87 -0
  106. data/lib/active_merchant/billing/integrations/nochex/helper.rb +68 -0
  107. data/lib/active_merchant/billing/integrations/nochex/notification.rb +94 -0
  108. data/lib/active_merchant/billing/integrations/nochex/return.rb +10 -0
  109. data/lib/active_merchant/billing/integrations/notification.rb +62 -0
  110. data/lib/active_merchant/billing/integrations/paypal.rb +40 -0
  111. data/lib/active_merchant/billing/integrations/paypal/helper.rb +119 -0
  112. data/lib/active_merchant/billing/integrations/paypal/notification.rb +154 -0
  113. data/lib/active_merchant/billing/integrations/paypal/return.rb +10 -0
  114. data/lib/active_merchant/billing/integrations/quickpay.rb +18 -0
  115. data/lib/active_merchant/billing/integrations/quickpay/helper.rb +72 -0
  116. data/lib/active_merchant/billing/integrations/quickpay/notification.rb +74 -0
  117. data/lib/active_merchant/billing/integrations/return.rb +35 -0
  118. data/lib/active_merchant/billing/integrations/two_checkout.rb +23 -0
  119. data/lib/active_merchant/billing/integrations/two_checkout/helper.rb +59 -0
  120. data/lib/active_merchant/billing/integrations/two_checkout/notification.rb +114 -0
  121. data/lib/active_merchant/billing/integrations/two_checkout/return.rb +17 -0
  122. data/lib/active_merchant/billing/response.rb +32 -0
  123. data/lib/active_merchant/lib/connection.rb +170 -0
  124. data/lib/active_merchant/lib/country.rb +319 -0
  125. data/lib/active_merchant/lib/error.rb +4 -0
  126. data/lib/active_merchant/lib/post_data.rb +22 -0
  127. data/lib/active_merchant/lib/posts_data.rb +47 -0
  128. data/lib/active_merchant/lib/requires_parameters.rb +16 -0
  129. data/lib/active_merchant/lib/utils.rb +18 -0
  130. data/lib/active_merchant/lib/validateable.rb +76 -0
  131. data/lib/certs/cacert.pem +7815 -0
  132. data/lib/support/gateway_support.rb +58 -0
  133. data/script/destroy +14 -0
  134. data/script/generate +14 -0
  135. data/test/fixtures.yml +355 -0
  136. data/test/remote/gateways/remote_authorize_net_cim_test.rb +460 -0
  137. data/test/remote/gateways/remote_authorize_net_test.rb +145 -0
  138. data/test/remote/gateways/remote_beanstream_interac_test.rb +53 -0
  139. data/test/remote/gateways/remote_beanstream_test.rb +150 -0
  140. data/test/remote/gateways/remote_braintree_test.rb +154 -0
  141. data/test/remote/gateways/remote_card_stream_test.rb +148 -0
  142. data/test/remote/gateways/remote_cyber_source_test.rb +144 -0
  143. data/test/remote/gateways/remote_data_cash_test.rb +357 -0
  144. data/test/remote/gateways/remote_efsnet_test.rb +81 -0
  145. data/test/remote/gateways/remote_elavon_test.rb +66 -0
  146. data/test/remote/gateways/remote_eway_test.rb +74 -0
  147. data/test/remote/gateways/remote_exact_test.rb +60 -0
  148. data/test/remote/gateways/remote_first_pay_test.rb +87 -0
  149. data/test/remote/gateways/remote_instapay_test.rb +61 -0
  150. data/test/remote/gateways/remote_jetpay_test.rb +103 -0
  151. data/test/remote/gateways/remote_linkpoint_test.rb +121 -0
  152. data/test/remote/gateways/remote_merchant_e_solutions_test.rb +173 -0
  153. data/test/remote/gateways/remote_merchant_ware_test.rb +113 -0
  154. data/test/remote/gateways/remote_modern_payments_cim_test.rb +58 -0
  155. data/test/remote/gateways/remote_modern_payments_test.rb +43 -0
  156. data/test/remote/gateways/remote_moneris_test.rb +82 -0
  157. data/test/remote/gateways/remote_net_registry_test.rb +85 -0
  158. data/test/remote/gateways/remote_netbilling_test.rb +70 -0
  159. data/test/remote/gateways/remote_ogone_test.rb +115 -0
  160. data/test/remote/gateways/remote_pay_junction_test.rb +143 -0
  161. data/test/remote/gateways/remote_pay_secure_test.rb +39 -0
  162. data/test/remote/gateways/remote_payflow_express_test.rb +50 -0
  163. data/test/remote/gateways/remote_payflow_test.rb +237 -0
  164. data/test/remote/gateways/remote_payflow_uk_test.rb +173 -0
  165. data/test/remote/gateways/remote_payment_express_test.rb +136 -0
  166. data/test/remote/gateways/remote_paypal_express_test.rb +49 -0
  167. data/test/remote/gateways/remote_paypal_test.rb +191 -0
  168. data/test/remote/gateways/remote_plugnpay_test.rb +72 -0
  169. data/test/remote/gateways/remote_psigate_test.rb +50 -0
  170. data/test/remote/gateways/remote_psl_card_test.rb +125 -0
  171. data/test/remote/gateways/remote_quickpay_test.rb +190 -0
  172. data/test/remote/gateways/remote_realex_test.rb +224 -0
  173. data/test/remote/gateways/remote_sage_bankcard_test.rb +109 -0
  174. data/test/remote/gateways/remote_sage_pay_test.rb +219 -0
  175. data/test/remote/gateways/remote_sage_test.rb +87 -0
  176. data/test/remote/gateways/remote_sage_virtual_check_test.rb +62 -0
  177. data/test/remote/gateways/remote_sallie_mae_test.rb +51 -0
  178. data/test/remote/gateways/remote_secure_pay_au_test.rb +40 -0
  179. data/test/remote/gateways/remote_secure_pay_tech_test.rb +37 -0
  180. data/test/remote/gateways/remote_secure_pay_test.rb +28 -0
  181. data/test/remote/gateways/remote_skipjack_test.rb +105 -0
  182. data/test/remote/gateways/remote_trans_first_test.rb +34 -0
  183. data/test/remote/gateways/remote_transax_test.rb +112 -0
  184. data/test/remote/gateways/remote_trust_commerce_test.rb +152 -0
  185. data/test/remote/gateways/remote_usa_epay_test.rb +46 -0
  186. data/test/remote/gateways/remote_verifi_test.rb +107 -0
  187. data/test/remote/gateways/remote_viaklix_test.rb +43 -0
  188. data/test/remote/gateways/remote_wirecard_test.rb +111 -0
  189. data/test/remote/integrations/remote_gestpay_integration_test.rb +37 -0
  190. data/test/remote/integrations/remote_paypal_integration_test.rb +26 -0
  191. data/test/test_helper.rb +182 -0
  192. data/test/unit/avs_result_test.rb +59 -0
  193. data/test/unit/base_test.rb +55 -0
  194. data/test/unit/check_test.rb +88 -0
  195. data/test/unit/connection_test.rb +129 -0
  196. data/test/unit/country_code_test.rb +33 -0
  197. data/test/unit/country_test.rb +64 -0
  198. data/test/unit/credit_card_formatting_test.rb +19 -0
  199. data/test/unit/credit_card_methods_test.rb +179 -0
  200. data/test/unit/credit_card_test.rb +318 -0
  201. data/test/unit/cvv_result_test.rb +33 -0
  202. data/test/unit/expiry_date_test.rb +32 -0
  203. data/test/unit/gateways/authorize_net_cim_test.rb +676 -0
  204. data/test/unit/gateways/authorize_net_test.rb +290 -0
  205. data/test/unit/gateways/beanstream_interac_test.rb +51 -0
  206. data/test/unit/gateways/beanstream_test.rb +108 -0
  207. data/test/unit/gateways/bogus_test.rb +46 -0
  208. data/test/unit/gateways/braintree_test.rb +126 -0
  209. data/test/unit/gateways/card_stream_test.rb +90 -0
  210. data/test/unit/gateways/cyber_source_test.rb +188 -0
  211. data/test/unit/gateways/data_cash_test.rb +133 -0
  212. data/test/unit/gateways/efsnet_test.rb +123 -0
  213. data/test/unit/gateways/elavon_test.rb +139 -0
  214. data/test/unit/gateways/eway_test.rb +118 -0
  215. data/test/unit/gateways/exact_test.rb +156 -0
  216. data/test/unit/gateways/first_pay_test.rb +125 -0
  217. data/test/unit/gateways/gateway_test.rb +48 -0
  218. data/test/unit/gateways/instapay_test.rb +102 -0
  219. data/test/unit/gateways/jetpay_test.rb +185 -0
  220. data/test/unit/gateways/linkpoint_test.rb +184 -0
  221. data/test/unit/gateways/merchant_e_solutions_test.rb +169 -0
  222. data/test/unit/gateways/merchant_ware_test.rb +188 -0
  223. data/test/unit/gateways/modern_payments_cim_test.rb +171 -0
  224. data/test/unit/gateways/moneris_test.rb +158 -0
  225. data/test/unit/gateways/net_registry_test.rb +416 -0
  226. data/test/unit/gateways/netbilling_test.rb +54 -0
  227. data/test/unit/gateways/ogone_test.rb +319 -0
  228. data/test/unit/gateways/pay_junction_test.rb +123 -0
  229. data/test/unit/gateways/pay_secure_test.rb +71 -0
  230. data/test/unit/gateways/payflow_express_test.rb +173 -0
  231. data/test/unit/gateways/payflow_express_uk_test.rb +86 -0
  232. data/test/unit/gateways/payflow_test.rb +305 -0
  233. data/test/unit/gateways/payflow_uk_test.rb +30 -0
  234. data/test/unit/gateways/payment_express_test.rb +195 -0
  235. data/test/unit/gateways/paypal_express_test.rb +382 -0
  236. data/test/unit/gateways/paypal_test.rb +569 -0
  237. data/test/unit/gateways/plugnpay_test.rb +86 -0
  238. data/test/unit/gateways/psigate_test.rb +169 -0
  239. data/test/unit/gateways/psl_card_test.rb +64 -0
  240. data/test/unit/gateways/quickpay_test.rb +112 -0
  241. data/test/unit/gateways/realex_test.rb +151 -0
  242. data/test/unit/gateways/sage_bankcard_test.rb +196 -0
  243. data/test/unit/gateways/sage_pay_test.rb +139 -0
  244. data/test/unit/gateways/sage_virtual_check_test.rb +71 -0
  245. data/test/unit/gateways/sallie_mae_test.rb +53 -0
  246. data/test/unit/gateways/secure_pay_au_test.rb +207 -0
  247. data/test/unit/gateways/secure_pay_tech_test.rb +44 -0
  248. data/test/unit/gateways/secure_pay_test.rb +87 -0
  249. data/test/unit/gateways/skip_jack_test.rb +213 -0
  250. data/test/unit/gateways/trans_first_test.rb +112 -0
  251. data/test/unit/gateways/trust_commerce_test.rb +90 -0
  252. data/test/unit/gateways/usa_epay_test.rb +128 -0
  253. data/test/unit/gateways/verifi_test.rb +96 -0
  254. data/test/unit/gateways/viaklix_test.rb +78 -0
  255. data/test/unit/gateways/wirecard_test.rb +250 -0
  256. data/test/unit/generators/test_gateway_generator.rb +46 -0
  257. data/test/unit/generators/test_generator_helper.rb +20 -0
  258. data/test/unit/generators/test_integration_generator.rb +53 -0
  259. data/test/unit/integrations/action_view_helper_test.rb +50 -0
  260. data/test/unit/integrations/bogus_module_test.rb +20 -0
  261. data/test/unit/integrations/chronopay_module_test.rb +13 -0
  262. data/test/unit/integrations/gestpay_module_test.rb +14 -0
  263. data/test/unit/integrations/helpers/bogus_helper_test.rb +28 -0
  264. data/test/unit/integrations/helpers/chronopay_helper_test.rb +67 -0
  265. data/test/unit/integrations/helpers/gestpay_helper_test.rb +100 -0
  266. data/test/unit/integrations/helpers/hi_trust_helper_test.rb +16 -0
  267. data/test/unit/integrations/helpers/nochex_helper_test.rb +53 -0
  268. data/test/unit/integrations/helpers/paypal_helper_test.rb +171 -0
  269. data/test/unit/integrations/helpers/quickpay_helper_test.rb +40 -0
  270. data/test/unit/integrations/helpers/two_checkout_helper_test.rb +92 -0
  271. data/test/unit/integrations/hi_trust_module_test.rb +13 -0
  272. data/test/unit/integrations/nochex_module_test.rb +13 -0
  273. data/test/unit/integrations/notifications/chronopay_notification_test.rb +66 -0
  274. data/test/unit/integrations/notifications/gestpay_notification_test.rb +60 -0
  275. data/test/unit/integrations/notifications/hi_trust_notification_test.rb +59 -0
  276. data/test/unit/integrations/notifications/nochex_notification_test.rb +51 -0
  277. data/test/unit/integrations/notifications/notification_test.rb +54 -0
  278. data/test/unit/integrations/notifications/paypal_notification_test.rb +85 -0
  279. data/test/unit/integrations/notifications/quickpay_notification_test.rb +69 -0
  280. data/test/unit/integrations/notifications/two_checkout_notification_test.rb +55 -0
  281. data/test/unit/integrations/paypal_module_test.rb +28 -0
  282. data/test/unit/integrations/quickpay_module_test.rb +9 -0
  283. data/test/unit/integrations/returns/chronopay_return_test.rb +11 -0
  284. data/test/unit/integrations/returns/gestpay_return_test.rb +10 -0
  285. data/test/unit/integrations/returns/hi_trust_return_test.rb +24 -0
  286. data/test/unit/integrations/returns/nochex_return_test.rb +10 -0
  287. data/test/unit/integrations/returns/paypal_return_test.rb +10 -0
  288. data/test/unit/integrations/returns/return_test.rb +11 -0
  289. data/test/unit/integrations/returns/two_checkout_return_test.rb +24 -0
  290. data/test/unit/integrations/two_checkout_module_test.rb +13 -0
  291. data/test/unit/post_data_test.rb +55 -0
  292. data/test/unit/posts_data_test.rb +48 -0
  293. data/test/unit/response_test.rb +28 -0
  294. data/test/unit/utils_test.rb +7 -0
  295. data/test/unit/validateable_test.rb +60 -0
  296. metadata +368 -0
@@ -0,0 +1,14 @@
1
+ require 'test_helper'
2
+
3
+ class GestpayModuleTest < Test::Unit::TestCase
4
+ include ActiveMerchant::Billing::Integrations
5
+
6
+ def test_notification_method
7
+ Gestpay::Notification.any_instance.expects(:ssl_get).returns('#decryptstring#a=9000000&b=PAY1_UICCODE=242*P1*PAY1_AMOUNT=1234.56*P1*PAY1_TRANSACTIONRESULT=OK*P1*PAY1_BANKTRANSACTIONID=ABCD1234*P1*PAY1_SHOPTRANSACTIONID=1000#/decryptstring#')
8
+ assert_instance_of Gestpay::Notification, Gestpay.notification('a=900000&b=F7DEB36478FD84760F9134F23C922697272D57DE6D4518EB9B4D468B769D9A3A8071B6EB160B35CB412FC1820C7CC12D17B3141855B1ED55468613702A2E213DDE9DE5B0209E13C416448AE833525959F05693172D7F0656')
9
+ end
10
+
11
+ def test_return_method
12
+ assert_instance_of Gestpay::Return, Gestpay.return('name=cody')
13
+ end
14
+ end
@@ -0,0 +1,28 @@
1
+ require 'test_helper'
2
+
3
+ class BogusHelperTest < Test::Unit::TestCase
4
+ include ActiveMerchant::Billing::Integrations
5
+
6
+ def setup
7
+ @helper = Bogus::Helper.new('order-500','cfauser', :amount => 500, :currency => 'CAD')
8
+ end
9
+
10
+ def test_basic_helper_fields
11
+ assert_field 'order', 'order-500'
12
+ assert_field 'account', 'cfauser'
13
+ assert_field 'amount', '500'
14
+ assert_field 'currency', 'CAD'
15
+ end
16
+
17
+ def test_customer_fields
18
+ @helper.customer :first_name => 'Cody', :last_name => 'Fauser'
19
+ assert_field 'first_name', 'Cody'
20
+ assert_field 'last_name', 'Fauser'
21
+ end
22
+
23
+ def test_setting_unknown_field
24
+ fields = @helper.fields.dup
25
+ @helper.space_shuttle :name => 'Rockety'
26
+ assert_equal fields, @helper.fields
27
+ end
28
+ end
@@ -0,0 +1,67 @@
1
+ require 'test_helper'
2
+
3
+ class ChronopayHelperTest < Test::Unit::TestCase
4
+ include ActiveMerchant::Billing::Integrations
5
+
6
+ def setup
7
+ @helper = Chronopay::Helper.new('order-500','003176-0001-0001', :amount => 500, :currency => 'CAD')
8
+ end
9
+
10
+ def test_basic_helper_fields
11
+ assert_field 'cs1', 'order-500'
12
+ assert_field 'product_id', '003176-0001-0001'
13
+ assert_field 'product_price', '500'
14
+ assert_field 'product_price_currency', 'CAD'
15
+ end
16
+
17
+ def test_customer_fields
18
+ @helper.customer :first_name => 'Cody', :last_name => 'Fauser'
19
+ assert_field 'f_name', 'Cody'
20
+ assert_field 's_name', 'Fauser'
21
+ end
22
+
23
+ def test_address_mapping
24
+ @helper.billing_address :country => 'CAN',
25
+ :address1 => '1 My Street',
26
+ :city => 'Ottawa',
27
+ :state => 'On',
28
+ :zip => '90210'
29
+
30
+ assert_field 'country', 'CAN'
31
+ assert_field 'street', '1 My Street'
32
+ assert_field 'state', 'On'
33
+ assert_field 'zip', '90210'
34
+ end
35
+
36
+ def test_country_code_mapping
37
+ @helper.billing_address :country => 'CA'
38
+ assert_field 'country', 'CAN'
39
+ end
40
+
41
+ def test_province_code_mapping_non_us
42
+ @helper.billing_address :country => 'DE', :state => 'Berlin'
43
+ assert_field 'country', 'DEU'
44
+ assert_field 'state', 'XX'
45
+ end
46
+
47
+ def test_state_code_mapping_us
48
+ @helper.billing_address :country => 'US', :state => 'CA'
49
+ assert_field 'country', 'USA'
50
+ assert_field 'state', 'CA'
51
+ end
52
+
53
+ def test_unknown_mapping
54
+ assert_nothing_raised do
55
+ @helper.company_address :address => '500 Dwemthy Fox Road'
56
+ end
57
+ end
58
+
59
+ def test_setting_invalid_address_field
60
+ fields = @helper.fields.dup
61
+ @helper.billing_address :street => 'My Street'
62
+
63
+ # Will still set the state code to 'XX'
64
+ fields['state'] = 'XX'
65
+ assert_equal fields, @helper.fields
66
+ end
67
+ end
@@ -0,0 +1,100 @@
1
+ require 'test_helper'
2
+
3
+ class GestpayHelperTest < Test::Unit::TestCase
4
+ include ActiveMerchant::Billing::Integrations
5
+
6
+ def setup
7
+ @helper = Gestpay::Helper.new('order-500','1234567', :amount => '5.00', :currency => 'EUR')
8
+ end
9
+
10
+ def test_basic_helper_fields
11
+ assert_field 'ShopLogin', '1234567'
12
+ assert_field 'PAY1_AMOUNT', '5.00'
13
+ assert_field 'PAY1_SHOPTRANSACTIONID', 'order-500'
14
+ assert_field 'PAY1_UICCODE', '242'
15
+ end
16
+
17
+ def test_italian_currency
18
+ @helper = Gestpay::Helper.new('order-500','1234567', :amount => '5.00', :currency => 'ITL')
19
+ assert_field 'PAY1_UICCODE', '18'
20
+ end
21
+
22
+ def test_invalid_currency
23
+ assert_raise(StandardError) do
24
+ Gestpay::Helper.new('order-500','1234567', :amount => '5.00', :currency => 'CAD')
25
+ end
26
+ end
27
+
28
+ def test_customer_fields
29
+ @helper.customer :first_name => 'Cody', :last_name => 'Fauser', :email => 'cody@example.com'
30
+ assert_field 'PAY1_CHNAME', 'Cody Fauser'
31
+ assert_field 'PAY1_CHEMAIL', 'cody@example.com'
32
+ end
33
+
34
+ def test_get_encryption_string
35
+ @helper.expects(:ssl_get).returns(encrypted_string_response)
36
+ assert_equal encrypted_string, @helper.send(:get_encrypted_string)
37
+ end
38
+
39
+ def test_get_encryption_string_fails
40
+ @helper.expects(:ssl_get).returns('#error#1132-Not accepted call: shop is not in active state#/error#\r\n')
41
+
42
+ assert_raise(StandardError) do
43
+ @helper.send(:get_encrypted_string)
44
+ end
45
+ end
46
+
47
+ def test_get_encryption_string_returns_empty_response
48
+ @helper.expects(:ssl_get).returns('')
49
+
50
+ assert_raise(StandardError) do
51
+ @helper.send(:get_encrypted_string)
52
+ end
53
+ end
54
+
55
+ def test_form_fields
56
+ @helper.expects(:ssl_get).returns(encrypted_string_response)
57
+ assert_equal '1234567', @helper.form_fields['a']
58
+ assert_equal encrypted_string, @helper.form_fields['b']
59
+ end
60
+
61
+ # Doesn't do any address mapping
62
+ def test_address_mapping
63
+ assert_nothing_raised do
64
+ @helper.billing_address :address1 => '1 My Street',
65
+ :address2 => '',
66
+ :city => 'Leeds',
67
+ :state => 'Yorkshire',
68
+ :zip => 'LS2 7EE',
69
+ :country => 'CA'
70
+ end
71
+ end
72
+
73
+ def test_unknown_address_mapping
74
+ total_fields = @helper.fields.size
75
+ @helper.billing_address :farm => 'CA'
76
+ assert_equal total_fields, @helper.fields.size
77
+ end
78
+
79
+ def test_unknown_mapping
80
+ assert_nothing_raised do
81
+ @helper.company_address :address => '500 Dwemthy Fox Road'
82
+ end
83
+ end
84
+
85
+ def test_setting_invalid_address_field
86
+ fields = @helper.fields.dup
87
+ @helper.billing_address :street => 'My Street'
88
+ assert_equal fields, @helper.fields
89
+ end
90
+
91
+ private
92
+
93
+ def encrypted_string_response
94
+ '#cryptstring#F7DEB36478FD84760F9134F23C922697272D57DE6D4518EB9B4D468B769D9A3A8071B6EB160B35CB412FC1820C7CC12D17B3141855B1ED55468613702A2E213DDE9DE5B0209E13C416448AE833525959F05693172D7F0656#/cryptstring#'
95
+ end
96
+
97
+ def encrypted_string
98
+ 'F7DEB36478FD84760F9134F23C922697272D57DE6D4518EB9B4D468B769D9A3A8071B6EB160B35CB412FC1820C7CC12D17B3141855B1ED55468613702A2E213DDE9DE5B0209E13C416448AE833525959F05693172D7F0656'
99
+ end
100
+ end
@@ -0,0 +1,16 @@
1
+ require 'test_helper'
2
+
3
+ class HiTrustHelperTest < Test::Unit::TestCase
4
+ include ActiveMerchant::Billing::Integrations
5
+
6
+ def setup
7
+ @helper = HiTrust::Helper.new('order-500','cody@example.com', :amount => 500, :currency => 'USD')
8
+ end
9
+
10
+ def test_basic_helper_fields
11
+ assert_field 'storeid', 'cody@example.com'
12
+ assert_field 'amount', '500'
13
+ assert_field 'ordernumber', 'order-500'
14
+ assert_field 'currency', 'USD'
15
+ end
16
+ end
@@ -0,0 +1,53 @@
1
+ require 'test_helper'
2
+
3
+ class NochexHelperTest < Test::Unit::TestCase
4
+ include ActiveMerchant::Billing::Integrations
5
+
6
+ def setup
7
+ @helper = Nochex::Helper.new('order-500','cody@example.com', :amount => 500, :currency => 'GBP')
8
+ end
9
+
10
+ def test_basic_helper_fields
11
+ assert_field 'email', 'cody@example.com'
12
+
13
+ # Nochex requires 2 decimal places on the amount
14
+ assert_field 'amount', '5.00'
15
+ assert_field 'ordernumber', 'order-500'
16
+ end
17
+
18
+ def test_customer_fields
19
+ @helper.customer :first_name => 'Cody', :last_name => 'Fauser', :email => 'cody@example.com'
20
+ assert_field 'firstname', 'Cody'
21
+ assert_field 'lastname', 'Fauser'
22
+ assert_field 'email_address_sender', 'cody@example.com'
23
+ end
24
+
25
+ def test_address_mapping
26
+ @helper.billing_address :address1 => '1 My Street',
27
+ :city => 'Leeds',
28
+ :state => 'Yorkshire',
29
+ :zip => 'LS2 7EE'
30
+
31
+ assert_field 'firstline', '1 My Street'
32
+ assert_field 'town', 'Leeds'
33
+ assert_field 'county', 'Yorkshire'
34
+ assert_field 'postcode', 'LS2 7EE'
35
+ end
36
+
37
+ def test_unknown_address_mapping
38
+ @helper.billing_address :country => 'CA'
39
+ assert_equal 3, @helper.fields.size
40
+ end
41
+
42
+ def test_unknown_mapping
43
+ assert_nothing_raised do
44
+ @helper.company_address :address => '500 Dwemthy Fox Road'
45
+ end
46
+ end
47
+
48
+ def test_setting_invalid_address_field
49
+ fields = @helper.fields.dup
50
+ @helper.billing_address :street => 'My Street'
51
+ assert_equal fields, @helper.fields
52
+ end
53
+ end
@@ -0,0 +1,171 @@
1
+ require 'test_helper'
2
+
3
+ class PaypalHelperTest < Test::Unit::TestCase
4
+ include ActiveMerchant::Billing::Integrations
5
+
6
+ def setup
7
+ @helper = Paypal::Helper.new(1,'cody@example.com', :amount => 500, :currency => 'CAD')
8
+ @url = 'http://example.com'
9
+ end
10
+
11
+ def test_static_fields
12
+ assert_field 'cmd', '_ext-enter'
13
+ assert_field 'redirect_cmd', '_xclick'
14
+ assert_field 'quantity', '1'
15
+ assert_field 'item_name', 'Store purchase'
16
+ assert_field 'no_shipping', '1'
17
+ assert_field 'no_note', '1'
18
+ assert_field 'charset', 'utf-8'
19
+ end
20
+
21
+ def test_basic_helper_fields
22
+ assert_field 'item_number', '1'
23
+ assert_field 'custom', '1'
24
+ assert_field 'business', 'cody@example.com'
25
+ assert_field 'amount', '500'
26
+ assert_field 'currency_code', 'CAD'
27
+ end
28
+
29
+ def test_invoice
30
+ @helper.invoice = 'Shopify shirt'
31
+ assert_field 'invoice', 'Shopify shirt'
32
+ end
33
+
34
+ def test_notification_url
35
+ @helper.notify_url = @url
36
+ assert_field 'notify_url', @url
37
+ end
38
+
39
+ def test_return_url
40
+ @helper.return_url = @url
41
+ assert_field 'return', @url
42
+ end
43
+
44
+ def test_cancel_return_url
45
+ @helper.cancel_return_url = @url
46
+ assert_field 'cancel_return', @url
47
+ end
48
+
49
+ def test_customer_fields
50
+ @helper.customer :first_name => 'Cody',
51
+ :last_name => 'Fauser',
52
+ :email => 'cody@example.com'
53
+
54
+ assert_field 'first_name', 'Cody'
55
+ assert_field 'last_name', 'Fauser'
56
+ assert_field 'email', 'cody@example.com'
57
+ end
58
+
59
+ def test_shipping_address
60
+ @helper.shipping_address :country => 'CA',
61
+ :address1 => '1 My Street',
62
+ :city => 'Ottawa',
63
+ :zip => '90210',
64
+ :phone => '(555)123-4567'
65
+
66
+ assert_field 'country', 'CA'
67
+ assert_field 'address1', '1 My Street'
68
+ assert_field 'zip', '90210'
69
+ assert_field 'night_phone_a', '555'
70
+ assert_field 'night_phone_b', '123'
71
+ assert_field 'night_phone_c', '4567'
72
+ end
73
+
74
+ def test_phone_parsing
75
+ @helper.shipping_address :country => 'CA', :phone => '111-222-3333'
76
+
77
+ assert_field 'night_phone_a', '111'
78
+ assert_field 'night_phone_b', '222'
79
+ assert_field 'night_phone_c', '3333'
80
+ end
81
+
82
+
83
+ def test_phone_parsing_for_non_us
84
+ @helper.shipping_address :country => 'UK', :phone => '028 38841670'
85
+
86
+ assert_field 'night_phone_a', nil
87
+ assert_field 'night_phone_b', '02838841670'
88
+ assert_field 'night_phone_c', nil
89
+ end
90
+
91
+
92
+ def test_province
93
+ @helper.shipping_address :country => 'CA',
94
+ :state => 'On'
95
+
96
+ assert_field 'country', 'CA'
97
+ assert_field 'state', 'Ontario'
98
+ end
99
+
100
+ def test_state
101
+ @helper.shipping_address :country => 'US',
102
+ :state => 'TX'
103
+
104
+ assert_field 'country', 'US'
105
+ assert_field 'state', 'TX'
106
+ end
107
+
108
+ def test_shipping
109
+ @helper.shipping '7.99'
110
+ assert_field 'shipping', '7.99'
111
+ end
112
+
113
+ def test_tax
114
+ @helper.tax '14.99'
115
+ assert_field 'tax', '14.99'
116
+ end
117
+
118
+ def test_country_code
119
+ @helper.shipping_address :country => 'CAN'
120
+ assert_field 'country', 'CA'
121
+ end
122
+
123
+ def test_setting_invalid_address_field
124
+ fields = @helper.fields.dup
125
+ fields["state"] = 'N/A'
126
+
127
+ @helper.shipping_address :street => 'My Street'
128
+ assert_equal fields, @helper.fields
129
+ end
130
+
131
+ def test_setting_item_name
132
+ @helper.item_name = 'Really Cool Gizmo'
133
+ assert_field 'item_name', 'Really Cool Gizmo'
134
+ end
135
+
136
+ def test_setting_quantity
137
+ @helper.quantity = '10'
138
+ assert_field 'quantity', '10'
139
+ end
140
+
141
+ def test_setting_no_shipping
142
+ @helper.no_shipping = '0'
143
+ assert_field 'no_shipping', '0'
144
+ end
145
+
146
+ def test_setting_no_note
147
+ @helper.no_note = '0'
148
+ assert_field 'no_note', '0'
149
+ end
150
+
151
+ def test_uk_shipping_address_with_no_state
152
+ @helper.shipping_address :country => 'GB',
153
+ :state => ''
154
+
155
+ assert_field 'state', 'N/A'
156
+ end
157
+
158
+ def test_default_bn
159
+ assert_field 'bn', ActiveMerchant::Billing::Integrations::Helper.application_id
160
+ end
161
+
162
+ def test_override_bn
163
+ identifier = 'CodeGenies_ShoppingCart_IC_CA'
164
+
165
+ Paypal::Helper.application_id = identifier
166
+
167
+ @helper = Paypal::Helper.new(1,'cody@example.com', :amount => 500, :currency => 'CAD')
168
+ assert_field 'bn', identifier
169
+ end
170
+
171
+ end