smulube-activemerchant 1.5.1.4 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (211) hide show
  1. data.tar.gz.sig +0 -0
  2. data/CHANGELOG +9 -0
  3. data/CONTRIBUTORS +5 -1
  4. data/gem-public_cert.pem +18 -18
  5. data/lib/active_merchant.rb +9 -9
  6. data/lib/active_merchant/billing/gateways/braintree.rb +11 -11
  7. data/lib/active_merchant/billing/gateways/braintree/braintree_common.rb +9 -0
  8. data/lib/active_merchant/billing/gateways/braintree_blue.rb +210 -0
  9. data/lib/active_merchant/billing/gateways/braintree_orange.rb +17 -0
  10. data/lib/active_merchant/billing/gateways/payflow_nvp_uk.rb +10 -5
  11. data/lib/active_merchant/billing/integrations/action_view_helper.rb +1 -1
  12. data/lib/active_merchant/common.rb +14 -0
  13. data/lib/active_merchant/{lib → common}/connection.rb +2 -5
  14. data/lib/active_merchant/{lib → common}/country.rb +1 -1
  15. data/lib/active_merchant/common/error.rb +26 -0
  16. data/lib/active_merchant/common/post_data.rb +24 -0
  17. data/lib/active_merchant/{lib → common}/posts_data.rb +0 -0
  18. data/lib/active_merchant/{lib → common}/requires_parameters.rb +0 -0
  19. data/lib/active_merchant/{lib → common}/utils.rb +0 -0
  20. data/lib/active_merchant/{lib → common}/validateable.rb +0 -0
  21. data/lib/active_merchant/version.rb +1 -1
  22. data/lib/active_merchant/version.rb.orig +7 -0
  23. data/lib/activemerchant.rb +1 -0
  24. data/lib/support/outbound_hosts.rb +25 -0
  25. metadata +175 -493
  26. metadata.gz.sig +0 -0
  27. data/.gitignore +0 -7
  28. data/Rakefile +0 -85
  29. data/generators/gateway/USAGE +0 -5
  30. data/generators/gateway/gateway_generator.rb +0 -61
  31. data/generators/gateway/templates/gateway.rb +0 -77
  32. data/generators/gateway/templates/gateway_test.rb +0 -49
  33. data/generators/gateway/templates/remote_gateway_test.rb +0 -57
  34. data/generators/integration/USAGE +0 -5
  35. data/generators/integration/integration_generator.rb +0 -68
  36. data/generators/integration/templates/helper.rb +0 -34
  37. data/generators/integration/templates/helper_test.rb +0 -54
  38. data/generators/integration/templates/integration.rb +0 -18
  39. data/generators/integration/templates/module_test.rb +0 -9
  40. data/generators/integration/templates/notification.rb +0 -100
  41. data/generators/integration/templates/notification_test.rb +0 -41
  42. data/init.rb +0 -3
  43. data/lib/active_merchant/lib/error.rb +0 -4
  44. data/lib/active_merchant/lib/post_data.rb +0 -22
  45. data/script/destroy +0 -14
  46. data/script/generate +0 -14
  47. data/test/fixtures.yml +0 -360
  48. data/test/remote/gateways/remote_authorize_net_cim_test.rb +0 -460
  49. data/test/remote/gateways/remote_authorize_net_test.rb +0 -145
  50. data/test/remote/gateways/remote_beanstream_interac_test.rb +0 -53
  51. data/test/remote/gateways/remote_beanstream_test.rb +0 -150
  52. data/test/remote/gateways/remote_braintree_test.rb +0 -147
  53. data/test/remote/gateways/remote_card_stream_test.rb +0 -148
  54. data/test/remote/gateways/remote_cyber_source_test.rb +0 -146
  55. data/test/remote/gateways/remote_data_cash_test.rb +0 -356
  56. data/test/remote/gateways/remote_efsnet_test.rb +0 -81
  57. data/test/remote/gateways/remote_elavon_test.rb +0 -66
  58. data/test/remote/gateways/remote_eway_test.rb +0 -74
  59. data/test/remote/gateways/remote_exact_test.rb +0 -60
  60. data/test/remote/gateways/remote_first_pay_test.rb +0 -87
  61. data/test/remote/gateways/remote_garanti_test.rb +0 -58
  62. data/test/remote/gateways/remote_instapay_test.rb +0 -61
  63. data/test/remote/gateways/remote_jetpay_test.rb +0 -103
  64. data/test/remote/gateways/remote_linkpoint_test.rb +0 -121
  65. data/test/remote/gateways/remote_merchant_e_solutions_test.rb +0 -173
  66. data/test/remote/gateways/remote_merchant_ware_test.rb +0 -113
  67. data/test/remote/gateways/remote_modern_payments_cim_test.rb +0 -58
  68. data/test/remote/gateways/remote_modern_payments_test.rb +0 -57
  69. data/test/remote/gateways/remote_moneris_test.rb +0 -82
  70. data/test/remote/gateways/remote_net_registry_test.rb +0 -85
  71. data/test/remote/gateways/remote_netbilling_test.rb +0 -70
  72. data/test/remote/gateways/remote_ogone_test.rb +0 -115
  73. data/test/remote/gateways/remote_pay_junction_test.rb +0 -143
  74. data/test/remote/gateways/remote_pay_secure_test.rb +0 -39
  75. data/test/remote/gateways/remote_payflow_express_test.rb +0 -50
  76. data/test/remote/gateways/remote_payflow_nvp_uk_test.rb +0 -57
  77. data/test/remote/gateways/remote_payflow_test.rb +0 -237
  78. data/test/remote/gateways/remote_payflow_uk_test.rb +0 -173
  79. data/test/remote/gateways/remote_payment_express_test.rb +0 -136
  80. data/test/remote/gateways/remote_paypal_express_test.rb +0 -49
  81. data/test/remote/gateways/remote_paypal_test.rb +0 -191
  82. data/test/remote/gateways/remote_plugnpay_test.rb +0 -72
  83. data/test/remote/gateways/remote_psigate_test.rb +0 -50
  84. data/test/remote/gateways/remote_psl_card_test.rb +0 -123
  85. data/test/remote/gateways/remote_quickpay_test.rb +0 -190
  86. data/test/remote/gateways/remote_realex_test.rb +0 -224
  87. data/test/remote/gateways/remote_sage_bankcard_test.rb +0 -109
  88. data/test/remote/gateways/remote_sage_pay_test.rb +0 -219
  89. data/test/remote/gateways/remote_sage_test.rb +0 -87
  90. data/test/remote/gateways/remote_sage_virtual_check_test.rb +0 -62
  91. data/test/remote/gateways/remote_sallie_mae_test.rb +0 -51
  92. data/test/remote/gateways/remote_secure_pay_au_test.rb +0 -40
  93. data/test/remote/gateways/remote_secure_pay_tech_test.rb +0 -37
  94. data/test/remote/gateways/remote_secure_pay_test.rb +0 -28
  95. data/test/remote/gateways/remote_skipjack_test.rb +0 -105
  96. data/test/remote/gateways/remote_trans_first_test.rb +0 -34
  97. data/test/remote/gateways/remote_transax_test.rb +0 -112
  98. data/test/remote/gateways/remote_trust_commerce_test.rb +0 -152
  99. data/test/remote/gateways/remote_usa_epay_test.rb +0 -46
  100. data/test/remote/gateways/remote_verifi_test.rb +0 -107
  101. data/test/remote/gateways/remote_viaklix_test.rb +0 -43
  102. data/test/remote/gateways/remote_wirecard_test.rb +0 -111
  103. data/test/remote/integrations/remote_gestpay_integration_test.rb +0 -37
  104. data/test/remote/integrations/remote_paypal_integration_test.rb +0 -26
  105. data/test/test_helper.rb +0 -184
  106. data/test/unit/avs_result_test.rb +0 -59
  107. data/test/unit/base_test.rb +0 -54
  108. data/test/unit/check_test.rb +0 -88
  109. data/test/unit/connection_test.rb +0 -137
  110. data/test/unit/country_code_test.rb +0 -33
  111. data/test/unit/country_test.rb +0 -64
  112. data/test/unit/credit_card_formatting_test.rb +0 -19
  113. data/test/unit/credit_card_methods_test.rb +0 -192
  114. data/test/unit/credit_card_test.rb +0 -318
  115. data/test/unit/cvv_result_test.rb +0 -33
  116. data/test/unit/expiry_date_test.rb +0 -32
  117. data/test/unit/gateways/authorize_net_cim_test.rb +0 -676
  118. data/test/unit/gateways/authorize_net_test.rb +0 -290
  119. data/test/unit/gateways/beanstream_interac_test.rb +0 -51
  120. data/test/unit/gateways/beanstream_test.rb +0 -144
  121. data/test/unit/gateways/bogus_test.rb +0 -58
  122. data/test/unit/gateways/braintree_test.rb +0 -118
  123. data/test/unit/gateways/card_stream_test.rb +0 -90
  124. data/test/unit/gateways/cyber_source_test.rb +0 -188
  125. data/test/unit/gateways/data_cash_test.rb +0 -133
  126. data/test/unit/gateways/efsnet_test.rb +0 -123
  127. data/test/unit/gateways/elavon_test.rb +0 -139
  128. data/test/unit/gateways/eway_test.rb +0 -118
  129. data/test/unit/gateways/exact_test.rb +0 -156
  130. data/test/unit/gateways/first_pay_test.rb +0 -125
  131. data/test/unit/gateways/garanti_test.rb +0 -86
  132. data/test/unit/gateways/gateway_test.rb +0 -48
  133. data/test/unit/gateways/instapay_test.rb +0 -102
  134. data/test/unit/gateways/jetpay_test.rb +0 -185
  135. data/test/unit/gateways/linkpoint_test.rb +0 -197
  136. data/test/unit/gateways/merchant_e_solutions_test.rb +0 -169
  137. data/test/unit/gateways/merchant_ware_test.rb +0 -188
  138. data/test/unit/gateways/modern_payments_cim_test.rb +0 -162
  139. data/test/unit/gateways/moneris_test.rb +0 -158
  140. data/test/unit/gateways/net_registry_test.rb +0 -416
  141. data/test/unit/gateways/netbilling_test.rb +0 -54
  142. data/test/unit/gateways/ogone_test.rb +0 -319
  143. data/test/unit/gateways/pay_junction_test.rb +0 -123
  144. data/test/unit/gateways/pay_secure_test.rb +0 -71
  145. data/test/unit/gateways/payflow_express_test.rb +0 -173
  146. data/test/unit/gateways/payflow_express_uk_test.rb +0 -86
  147. data/test/unit/gateways/payflow_nvp_uk_test.rb +0 -205
  148. data/test/unit/gateways/payflow_test.rb +0 -305
  149. data/test/unit/gateways/payflow_uk_test.rb +0 -30
  150. data/test/unit/gateways/payment_express_test.rb +0 -195
  151. data/test/unit/gateways/paypal_express_test.rb +0 -389
  152. data/test/unit/gateways/paypal_test.rb +0 -569
  153. data/test/unit/gateways/plugnpay_test.rb +0 -86
  154. data/test/unit/gateways/psigate_test.rb +0 -169
  155. data/test/unit/gateways/psl_card_test.rb +0 -64
  156. data/test/unit/gateways/quickpay_test.rb +0 -112
  157. data/test/unit/gateways/realex_test.rb +0 -151
  158. data/test/unit/gateways/sage_bankcard_test.rb +0 -196
  159. data/test/unit/gateways/sage_pay_test.rb +0 -139
  160. data/test/unit/gateways/sage_virtual_check_test.rb +0 -71
  161. data/test/unit/gateways/sallie_mae_test.rb +0 -53
  162. data/test/unit/gateways/secure_pay_au_test.rb +0 -207
  163. data/test/unit/gateways/secure_pay_tech_test.rb +0 -44
  164. data/test/unit/gateways/secure_pay_test.rb +0 -101
  165. data/test/unit/gateways/skip_jack_test.rb +0 -228
  166. data/test/unit/gateways/trans_first_test.rb +0 -112
  167. data/test/unit/gateways/trust_commerce_test.rb +0 -90
  168. data/test/unit/gateways/usa_epay_test.rb +0 -128
  169. data/test/unit/gateways/verifi_test.rb +0 -96
  170. data/test/unit/gateways/viaklix_test.rb +0 -78
  171. data/test/unit/gateways/wirecard_test.rb +0 -250
  172. data/test/unit/generators/test_gateway_generator.rb +0 -46
  173. data/test/unit/generators/test_generator_helper.rb +0 -20
  174. data/test/unit/generators/test_integration_generator.rb +0 -53
  175. data/test/unit/integrations/action_view_helper_test.rb +0 -50
  176. data/test/unit/integrations/bogus_module_test.rb +0 -20
  177. data/test/unit/integrations/chronopay_module_test.rb +0 -13
  178. data/test/unit/integrations/gestpay_module_test.rb +0 -14
  179. data/test/unit/integrations/helpers/bogus_helper_test.rb +0 -28
  180. data/test/unit/integrations/helpers/chronopay_helper_test.rb +0 -110
  181. data/test/unit/integrations/helpers/gestpay_helper_test.rb +0 -100
  182. data/test/unit/integrations/helpers/hi_trust_helper_test.rb +0 -16
  183. data/test/unit/integrations/helpers/nochex_helper_test.rb +0 -53
  184. data/test/unit/integrations/helpers/paypal_helper_test.rb +0 -171
  185. data/test/unit/integrations/helpers/quickpay_helper_test.rb +0 -40
  186. data/test/unit/integrations/helpers/two_checkout_helper_test.rb +0 -92
  187. data/test/unit/integrations/hi_trust_module_test.rb +0 -13
  188. data/test/unit/integrations/nochex_module_test.rb +0 -13
  189. data/test/unit/integrations/notifications/chronopay_notification_test.rb +0 -66
  190. data/test/unit/integrations/notifications/gestpay_notification_test.rb +0 -60
  191. data/test/unit/integrations/notifications/hi_trust_notification_test.rb +0 -59
  192. data/test/unit/integrations/notifications/nochex_notification_test.rb +0 -51
  193. data/test/unit/integrations/notifications/notification_test.rb +0 -54
  194. data/test/unit/integrations/notifications/paypal_notification_test.rb +0 -85
  195. data/test/unit/integrations/notifications/quickpay_notification_test.rb +0 -69
  196. data/test/unit/integrations/notifications/two_checkout_notification_test.rb +0 -55
  197. data/test/unit/integrations/paypal_module_test.rb +0 -28
  198. data/test/unit/integrations/quickpay_module_test.rb +0 -9
  199. data/test/unit/integrations/returns/chronopay_return_test.rb +0 -11
  200. data/test/unit/integrations/returns/gestpay_return_test.rb +0 -10
  201. data/test/unit/integrations/returns/hi_trust_return_test.rb +0 -24
  202. data/test/unit/integrations/returns/nochex_return_test.rb +0 -10
  203. data/test/unit/integrations/returns/paypal_return_test.rb +0 -10
  204. data/test/unit/integrations/returns/return_test.rb +0 -11
  205. data/test/unit/integrations/returns/two_checkout_return_test.rb +0 -24
  206. data/test/unit/integrations/two_checkout_module_test.rb +0 -13
  207. data/test/unit/post_data_test.rb +0 -55
  208. data/test/unit/posts_data_test.rb +0 -48
  209. data/test/unit/response_test.rb +0 -28
  210. data/test/unit/utils_test.rb +0 -7
  211. data/test/unit/validateable_test.rb +0 -60
@@ -1,143 +0,0 @@
1
- require 'test_helper'
2
-
3
- class PayJunctionTest < Test::Unit::TestCase
4
- include ActiveMerchant::Billing
5
-
6
- cattr_accessor :current_invoice
7
-
8
- AMOUNT = 250
9
-
10
- def setup
11
- @gateway = PayJunctionGateway.new(fixtures(:pay_junction))
12
-
13
- @credit_card = credit_card('4444333322221111', :verification_value => '123')
14
-
15
- @valid_verification_value = '123'
16
- @invalid_verification_value = '1234'
17
-
18
- @valid_address = {
19
- :address1 => '123 Test St.',
20
- :address2 => nil,
21
- :city => 'Somewhere',
22
- :state => 'CA',
23
- :zip => '90001'
24
- }
25
-
26
- @invalid_address = {
27
- :address1 => '187 Apple Tree Lane.',
28
- :address2 => nil,
29
- :city => 'Woodside',
30
- :state => 'CA',
31
- :zip => '94062'
32
- }
33
-
34
- @options = { :billing_address => @valid_address, :order_id => generate_unique_id }
35
- end
36
-
37
- def test_successful_purchase
38
- assert response = @gateway.purchase(AMOUNT, @credit_card, @options)
39
- assert_equal PayJunctionGateway::SUCCESS_MESSAGE, response.message
40
- assert_equal 'capture', response.params["posture"], 'Should be captured funds'
41
- assert_equal 'charge', response.params["transaction_action"]
42
- assert_success response
43
- assert response.test?
44
- end
45
-
46
- def test_successful_purchase_with_cvv
47
- @credit_card.verification_value = @valid_verification_value
48
- assert response = @gateway.purchase(AMOUNT, @credit_card, @options)
49
-
50
- assert_equal PayJunctionGateway::SUCCESS_MESSAGE, response.message
51
- assert_equal 'capture', response.params["posture"], 'Should be captured funds'
52
- assert_equal 'charge', response.params["transaction_action"]
53
-
54
- assert_success response
55
- end
56
-
57
- def test_successful_authorize
58
- assert response = @gateway.authorize( AMOUNT, @credit_card, @options)
59
-
60
- assert_equal PayJunctionGateway::SUCCESS_MESSAGE, response.message
61
- assert_equal 'hold', response.params["posture"], 'Should be a held charge'
62
- assert_equal 'charge', response.params["transaction_action"]
63
-
64
- assert_success response
65
- end
66
-
67
- def test_successful_capture
68
- auth = @gateway.authorize(AMOUNT, @credit_card, @options)
69
- assert_success auth
70
-
71
- response = @gateway.capture(AMOUNT, auth.authorization, @options)
72
- assert_success response
73
- assert_equal 'capture', response.params["posture"], 'Should be a capture'
74
- assert_equal auth.authorization, response.authorization,
75
- "Should maintain transaction ID across request"
76
- end
77
-
78
- def test_successful_credit
79
- purchase = @gateway.purchase(AMOUNT, @credit_card, @options)
80
- assert_success purchase
81
-
82
- assert response = @gateway.credit(success_price, purchase.authorization)
83
- assert_equal 'refund', response.params["transaction_action"]
84
-
85
- assert_success response
86
- end
87
-
88
- def test_successful_void
89
- order_id = generate_unique_id
90
- purchase = @gateway.purchase(AMOUNT, @credit_card, @options)
91
- assert_success purchase
92
-
93
- assert response = @gateway.void(AMOUNT, purchase.authorization, :order_id => order_id)
94
- assert_success response
95
- assert_equal 'void', response.params["posture"], 'Should be a capture'
96
- assert_equal purchase.authorization, response.authorization,
97
- "Should maintain transaction ID across request"
98
- end
99
-
100
- def test_successful_instant_purchase
101
- # this takes advatange of the PayJunction feature where another
102
- # transaction can be executed if you have the transaction ID of a
103
- # previous successful transaction.
104
-
105
- purchase = @gateway.purchase( AMOUNT, @credit_card, @options)
106
- assert_success purchase
107
-
108
- assert response = @gateway.purchase(AMOUNT, purchase.authorization, :order_id => generate_unique_id)
109
-
110
- assert_equal PayJunctionGateway::SUCCESS_MESSAGE, response.message
111
- assert_equal 'capture', response.params["posture"], 'Should be captured funds'
112
- assert_equal 'charge', response.params["transaction_action"]
113
- assert_not_equal purchase.authorization, response.authorization,
114
- 'Should have recieved new transaction ID'
115
-
116
- assert_success response
117
- end
118
-
119
- def test_successful_recurring
120
- assert response = @gateway.recurring(AMOUNT, @credit_card,
121
- :periodicity => :monthly,
122
- :payments => 12,
123
- :order_id => generate_unique_id
124
- )
125
-
126
- assert_equal PayJunctionGateway::SUCCESS_MESSAGE, response.message
127
- assert_equal 'charge', response.params["transaction_action"]
128
-
129
- assert_success response
130
- end
131
-
132
- def test_should_send_invoice
133
- response = @gateway.purchase(AMOUNT, @credit_card, @options)
134
- assert_success response
135
-
136
- assert_equal @options[:order_id], response.params["invoice_number"], 'Should have set invoice'
137
- end
138
-
139
- private
140
- def success_price
141
- 200 + rand(200)
142
- end
143
- end
@@ -1,39 +0,0 @@
1
- require 'test_helper'
2
-
3
- class RemotePaySecureTest < Test::Unit::TestCase
4
-
5
- def setup
6
- @gateway = PaySecureGateway.new(fixtures(:pay_secure))
7
-
8
- @credit_card = credit_card('4000100011112224')
9
- @options = {
10
- :billing_address => address,
11
- :order_id => generate_unique_id
12
- }
13
- @amount = 100
14
- end
15
-
16
- def test_successful_purchase
17
- assert response = @gateway.purchase(@amount, @credit_card, @options)
18
- assert_success response
19
- assert_equal PaySecureGateway::SUCCESS_MESSAGE, response.message
20
- assert response.test?
21
- end
22
-
23
- def test_unsuccessful_purchase
24
- @credit_card.year = '2006'
25
- assert response = @gateway.purchase(@amount, @credit_card, @options)
26
- assert_equal 'Declined, card expired', response.message
27
- assert_failure response
28
- end
29
-
30
- def test_invalid_login
31
- gateway = PaySecureGateway.new(
32
- :login => '',
33
- :password => ''
34
- )
35
- assert response = gateway.purchase(@amount, @credit_card, @options)
36
- assert_equal "MissingField: 'MERCHANT_ID'", response.message
37
- assert_failure response
38
- end
39
- end
@@ -1,50 +0,0 @@
1
- require 'test_helper'
2
-
3
- class RemotePayflowTest < Test::Unit::TestCase
4
- def setup
5
- Base.gateway_mode = :test
6
-
7
- @gateway = PayflowExpressGateway.new(fixtures(:payflow))
8
-
9
- @options = { :billing_address => {
10
- :name => 'Cody Fauser',
11
- :address1 => '1234 Shady Brook Lane',
12
- :city => 'Ottawa',
13
- :state => 'ON',
14
- :country => 'CA',
15
- :zip => '90210',
16
- :phone => '555-555-5555'
17
- },
18
- :email => 'cody@example.com'
19
- }
20
- end
21
-
22
- # Only works with a Payflow 2.0 account or by requesting the addition
23
- # of Express checkout to an existing Payflow Pro account. This can be done
24
- # by contacting Payflow sales. The PayPal account used must be a business
25
- # account and the Payflow Pro account must be in Live mode in order for
26
- # the tests to work correctly
27
- def test_set_express_authorization
28
- @options.update(
29
- :return_url => 'http://example.com',
30
- :cancel_return_url => 'http://example.com',
31
- :email => 'Buyer1@paypal.com'
32
- )
33
- response = @gateway.setup_authorization(500, @options)
34
- assert response.success?
35
- assert response.test?
36
- assert !response.params['token'].blank?
37
- end
38
-
39
- def test_set_express_purchase
40
- @options.update(
41
- :return_url => 'http://example.com',
42
- :cancel_return_url => 'http://example.com',
43
- :email => 'Buyer1@paypal.com'
44
- )
45
- response = @gateway.setup_purchase(500, @options)
46
- assert response.success?
47
- assert response.test?
48
- assert !response.params['token'].blank?
49
- end
50
- end
@@ -1,57 +0,0 @@
1
- require 'test_helper'
2
-
3
- class RemotePayflowNvpUkTest < Test::Unit::TestCase
4
-
5
-
6
- def setup
7
- @gateway = PayflowNvpUkGateway.new(fixtures(:payflow_nvp_uk))
8
-
9
- @amount = 100
10
- @credit_card = credit_card('4000100011112224')
11
- @declined_card = credit_card('4000300011112220')
12
-
13
- @options = {
14
- :order_id => '1',
15
- :billing_address => address,
16
- :description => 'Store Purchase'
17
- }
18
- end
19
-
20
- def test_successful_purchase
21
- assert response = @gateway.purchase(@amount, @credit_card, @options)
22
- assert_success response
23
- assert_equal 'REPLACE WITH SUCCESS MESSAGE', response.message
24
- end
25
-
26
- def test_unsuccessful_purchase
27
- assert response = @gateway.purchase(@amount, @declined_card, @options)
28
- assert_failure response
29
- assert_equal 'REPLACE WITH FAILED PURCHASE MESSAGE', response.message
30
- end
31
-
32
- def test_authorize_and_capture
33
- amount = @amount
34
- assert auth = @gateway.authorize(amount, @credit_card, @options)
35
- assert_success auth
36
- assert_equal 'Success', auth.message
37
- assert auth.authorization
38
- assert capture = @gateway.capture(amount, auth.authorization)
39
- assert_success capture
40
- end
41
-
42
- def test_failed_capture
43
- assert response = @gateway.capture(@amount, '')
44
- assert_failure response
45
- assert_equal 'REPLACE WITH GATEWAY FAILURE MESSAGE', response.message
46
- end
47
-
48
- def test_invalid_login
49
- gateway = PayflowNvpUkGateway.new(
50
- :login => '',
51
- :password => ''
52
- )
53
- assert response = gateway.purchase(@amount, @credit_card, @options)
54
- assert_failure response
55
- assert_equal 'REPLACE WITH FAILURE MESSAGE', response.message
56
- end
57
- end
@@ -1,237 +0,0 @@
1
- require 'test_helper'
2
-
3
- class RemotePayflowTest < Test::Unit::TestCase
4
- def setup
5
- ActiveMerchant::Billing::Base.gateway_mode = :test
6
-
7
- @gateway = PayflowGateway.new(fixtures(:payflow))
8
-
9
- @credit_card = credit_card('5105105105105100',
10
- :type => 'master'
11
- )
12
-
13
- @options = { :billing_address => address,
14
- :email => 'cody@example.com',
15
- :customer => 'codyexample'
16
- }
17
- end
18
-
19
- def test_successful_purchase
20
- assert response = @gateway.purchase(100000, @credit_card, @options)
21
- assert_equal "Approved", response.message
22
- assert_success response
23
- assert response.test?
24
- assert_not_nil response.authorization
25
- end
26
-
27
- def test_declined_purchase
28
- assert response = @gateway.purchase(210000, @credit_card, @options)
29
- assert_equal 'Declined', response.message
30
- assert_failure response
31
- assert response.test?
32
- end
33
-
34
- def test_successful_authorization
35
- assert response = @gateway.authorize(100, @credit_card, @options)
36
- assert_equal "Approved", response.message
37
- assert_success response
38
- assert response.test?
39
- assert_not_nil response.authorization
40
- end
41
-
42
- def test_authorize_and_capture
43
- assert auth = @gateway.authorize(100, @credit_card, @options)
44
- assert_success auth
45
- assert_equal 'Approved', auth.message
46
- assert auth.authorization
47
- assert capture = @gateway.capture(100, auth.authorization)
48
- assert_success capture
49
- end
50
-
51
- def test_authorize_and_partial_capture
52
- assert auth = @gateway.authorize(100 * 2, @credit_card, @options)
53
- assert_success auth
54
- assert_equal 'Approved', auth.message
55
- assert auth.authorization
56
-
57
- assert capture = @gateway.capture(100, auth.authorization)
58
- assert_success capture
59
- end
60
-
61
- def test_failed_capture
62
- assert response = @gateway.capture(100, '999')
63
- assert_failure response
64
- assert_equal 'Invalid tender', response.message
65
- end
66
-
67
- def test_authorize_and_void
68
- assert auth = @gateway.authorize(100, @credit_card, @options)
69
- assert_success auth
70
- assert_equal 'Approved', auth.message
71
- assert auth.authorization
72
- assert void = @gateway.void(auth.authorization)
73
- assert_success void
74
- end
75
-
76
- def test_invalid_login
77
- gateway = PayflowGateway.new(
78
- :login => '',
79
- :password => ''
80
- )
81
- assert response = gateway.purchase(100, @credit_card, @options)
82
- assert_equal 'Invalid vendor account', response.message
83
- assert_failure response
84
- end
85
-
86
- def test_duplicate_request_id
87
- request_id = Digest::MD5.hexdigest(rand.to_s)
88
- @gateway.expects(:generate_unique_id).times(2).returns(request_id)
89
-
90
- response1 = @gateway.purchase(100, @credit_card, @options)
91
- assert response1.success?
92
- assert_nil response1.params['duplicate']
93
-
94
- response2 = @gateway.purchase(100, @credit_card, @options)
95
- assert response2.success?
96
- assert response2.params['duplicate']
97
- end
98
-
99
- def test_create_recurring_profile
100
- response = @gateway.recurring(1000, @credit_card, :periodicity => :monthly)
101
- assert_success response
102
- assert !response.params['profile_id'].blank?
103
- assert response.test?
104
- end
105
-
106
- def test_create_recurring_profile_with_invalid_date
107
- response = @gateway.recurring(1000, @credit_card, :periodicity => :monthly, :starting_at => Time.now)
108
- assert_failure response
109
- assert_equal 'Field format error: Start or next payment date must be a valid future date', response.message
110
- assert response.params['profile_id'].blank?
111
- assert response.test?
112
- end
113
-
114
- def test_create_and_cancel_recurring_profile
115
- response = @gateway.recurring(1000, @credit_card, :periodicity => :monthly)
116
- assert_success response
117
- assert !response.params['profile_id'].blank?
118
- assert response.test?
119
-
120
- response = @gateway.cancel_recurring(response.params['profile_id'])
121
- assert_success response
122
- assert response.test?
123
- end
124
-
125
- def test_full_feature_set_for_recurring_profiles
126
- # Test add
127
- @options.update(
128
- :periodicity => :weekly,
129
- :payments => '12',
130
- :starting_at => Time.now + 1.day,
131
- :comment => "Test Profile"
132
- )
133
- response = @gateway.recurring(100, @credit_card, @options)
134
- assert_equal "Approved", response.params['message']
135
- assert_equal "0", response.params['result']
136
- assert_success response
137
- assert response.test?
138
- assert !response.params['profile_id'].blank?
139
- @recurring_profile_id = response.params['profile_id']
140
-
141
- # Test modify
142
- @options.update(
143
- :periodicity => :monthly,
144
- :starting_at => Time.now + 1.day,
145
- :payments => '4',
146
- :profile_id => @recurring_profile_id
147
- )
148
- response = @gateway.recurring(400, @credit_card, @options)
149
- assert_equal "Approved", response.params['message']
150
- assert_equal "0", response.params['result']
151
- assert_success response
152
- assert response.test?
153
-
154
- # Test inquiry
155
- response = @gateway.recurring_inquiry(@recurring_profile_id)
156
- assert_equal "0", response.params['result']
157
- assert_success response
158
- assert response.test?
159
-
160
- # Test payment history inquiry
161
- response = @gateway.recurring_inquiry(@recurring_profile_id, :history => true)
162
- assert_equal '0', response.params['result']
163
- assert_success response
164
- assert response.test?
165
-
166
- # Test cancel
167
- response = @gateway.cancel_recurring(@recurring_profile_id)
168
- assert_equal "Approved", response.params['message']
169
- assert_equal "0", response.params['result']
170
- assert_success response
171
- assert response.test?
172
- end
173
-
174
- # Note that this test will only work if you enable reference transactions!!
175
- def test_reference_purchase
176
- assert response = @gateway.purchase(10000, @credit_card, @options)
177
- assert_equal "Approved", response.message
178
- assert_success response
179
- assert response.test?
180
- assert_not_nil pn_ref = response.authorization
181
-
182
- # now another purchase, by reference
183
- assert response = @gateway.purchase(10000, pn_ref)
184
- assert_equal "Approved", response.message
185
- assert_success response
186
- assert response.test?
187
- end
188
-
189
- def test_recurring_with_initial_authorization
190
- response = @gateway.recurring(1000, @credit_card,
191
- :periodicity => :monthly,
192
- :initial_transaction => {
193
- :type => :authorization
194
- }
195
- )
196
-
197
- assert_success response
198
- assert !response.params['profile_id'].blank?
199
- assert response.test?
200
- end
201
-
202
- def test_recurring_with_initial_authorization
203
- response = @gateway.recurring(1000, @credit_card,
204
- :periodicity => :monthly,
205
- :initial_transaction => {
206
- :type => :purchase,
207
- :amount => 500
208
- }
209
- )
210
-
211
- assert_success response
212
- assert !response.params['profile_id'].blank?
213
- assert response.test?
214
- end
215
-
216
- def test_purchase_and_referenced_credit
217
- amount = 100
218
-
219
- assert purchase = @gateway.purchase(amount, @credit_card, @options)
220
- assert_success purchase
221
- assert_equal 'Approved', purchase.message
222
- assert !purchase.authorization.blank?
223
-
224
- assert credit = @gateway.credit(amount, purchase.authorization)
225
- assert_success credit
226
- end
227
-
228
- # The default security setting for Payflow Pro accounts is Allow
229
- # non-referenced credits = No.
230
- #
231
- # Non-referenced credits will fail with Result code 117 (failed the security
232
- # check) unless Allow non-referenced credits = Yes in PayPal manager
233
- def test_purchase_and_non_referenced_credit
234
- assert credit = @gateway.credit(100, @credit_card, @options)
235
- assert_success credit
236
- end
237
- end