activemerchant 1.5.0 → 1.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (176) hide show
  1. data.tar.gz.sig +0 -0
  2. data/CHANGELOG +9 -0
  3. data/MIT-LICENSE +1 -1
  4. data/lib/active_merchant.rb +6 -26
  5. data/lib/active_merchant/billing.rb +9 -0
  6. data/lib/active_merchant/billing/gateways/beanstream/beanstream_core.rb +12 -1
  7. data/lib/active_merchant/billing/gateways/skip_jack.rb +2 -1
  8. data/lib/active_merchant/billing/integrations/chronopay/helper.rb +40 -1
  9. data/lib/active_merchant/billing/integrations/two_checkout.rb +1 -1
  10. metadata +9 -173
  11. metadata.gz.sig +0 -0
  12. data/Rakefile +0 -153
  13. data/init.rb +0 -3
  14. data/script/destroy +0 -14
  15. data/script/generate +0 -14
  16. data/test/fixtures.yml +0 -355
  17. data/test/remote/gateways/remote_authorize_net_cim_test.rb +0 -460
  18. data/test/remote/gateways/remote_authorize_net_test.rb +0 -145
  19. data/test/remote/gateways/remote_beanstream_interac_test.rb +0 -53
  20. data/test/remote/gateways/remote_beanstream_test.rb +0 -150
  21. data/test/remote/gateways/remote_braintree_test.rb +0 -147
  22. data/test/remote/gateways/remote_card_stream_test.rb +0 -148
  23. data/test/remote/gateways/remote_cyber_source_test.rb +0 -144
  24. data/test/remote/gateways/remote_data_cash_test.rb +0 -356
  25. data/test/remote/gateways/remote_efsnet_test.rb +0 -81
  26. data/test/remote/gateways/remote_elavon_test.rb +0 -66
  27. data/test/remote/gateways/remote_eway_test.rb +0 -74
  28. data/test/remote/gateways/remote_exact_test.rb +0 -60
  29. data/test/remote/gateways/remote_first_pay_test.rb +0 -87
  30. data/test/remote/gateways/remote_instapay_test.rb +0 -61
  31. data/test/remote/gateways/remote_jetpay_test.rb +0 -103
  32. data/test/remote/gateways/remote_linkpoint_test.rb +0 -121
  33. data/test/remote/gateways/remote_merchant_e_solutions_test.rb +0 -173
  34. data/test/remote/gateways/remote_merchant_ware_test.rb +0 -113
  35. data/test/remote/gateways/remote_modern_payments_cim_test.rb +0 -58
  36. data/test/remote/gateways/remote_modern_payments_test.rb +0 -57
  37. data/test/remote/gateways/remote_moneris_test.rb +0 -82
  38. data/test/remote/gateways/remote_net_registry_test.rb +0 -85
  39. data/test/remote/gateways/remote_netbilling_test.rb +0 -70
  40. data/test/remote/gateways/remote_ogone_test.rb +0 -115
  41. data/test/remote/gateways/remote_pay_junction_test.rb +0 -143
  42. data/test/remote/gateways/remote_pay_secure_test.rb +0 -39
  43. data/test/remote/gateways/remote_payflow_express_test.rb +0 -50
  44. data/test/remote/gateways/remote_payflow_test.rb +0 -237
  45. data/test/remote/gateways/remote_payflow_uk_test.rb +0 -173
  46. data/test/remote/gateways/remote_payment_express_test.rb +0 -136
  47. data/test/remote/gateways/remote_paypal_express_test.rb +0 -49
  48. data/test/remote/gateways/remote_paypal_test.rb +0 -191
  49. data/test/remote/gateways/remote_plugnpay_test.rb +0 -72
  50. data/test/remote/gateways/remote_psigate_test.rb +0 -50
  51. data/test/remote/gateways/remote_psl_card_test.rb +0 -123
  52. data/test/remote/gateways/remote_quickpay_test.rb +0 -190
  53. data/test/remote/gateways/remote_realex_test.rb +0 -224
  54. data/test/remote/gateways/remote_sage_bankcard_test.rb +0 -109
  55. data/test/remote/gateways/remote_sage_pay_test.rb +0 -219
  56. data/test/remote/gateways/remote_sage_test.rb +0 -87
  57. data/test/remote/gateways/remote_sage_virtual_check_test.rb +0 -62
  58. data/test/remote/gateways/remote_sallie_mae_test.rb +0 -51
  59. data/test/remote/gateways/remote_secure_pay_au_test.rb +0 -40
  60. data/test/remote/gateways/remote_secure_pay_tech_test.rb +0 -37
  61. data/test/remote/gateways/remote_secure_pay_test.rb +0 -28
  62. data/test/remote/gateways/remote_skipjack_test.rb +0 -105
  63. data/test/remote/gateways/remote_trans_first_test.rb +0 -34
  64. data/test/remote/gateways/remote_transax_test.rb +0 -112
  65. data/test/remote/gateways/remote_trust_commerce_test.rb +0 -152
  66. data/test/remote/gateways/remote_usa_epay_test.rb +0 -46
  67. data/test/remote/gateways/remote_verifi_test.rb +0 -107
  68. data/test/remote/gateways/remote_viaklix_test.rb +0 -43
  69. data/test/remote/gateways/remote_wirecard_test.rb +0 -111
  70. data/test/remote/integrations/remote_gestpay_integration_test.rb +0 -37
  71. data/test/remote/integrations/remote_paypal_integration_test.rb +0 -26
  72. data/test/test_helper.rb +0 -184
  73. data/test/unit/avs_result_test.rb +0 -59
  74. data/test/unit/base_test.rb +0 -54
  75. data/test/unit/check_test.rb +0 -88
  76. data/test/unit/connection_test.rb +0 -129
  77. data/test/unit/country_code_test.rb +0 -33
  78. data/test/unit/country_test.rb +0 -64
  79. data/test/unit/credit_card_formatting_test.rb +0 -19
  80. data/test/unit/credit_card_methods_test.rb +0 -179
  81. data/test/unit/credit_card_test.rb +0 -318
  82. data/test/unit/cvv_result_test.rb +0 -33
  83. data/test/unit/expiry_date_test.rb +0 -32
  84. data/test/unit/gateways/authorize_net_cim_test.rb +0 -676
  85. data/test/unit/gateways/authorize_net_test.rb +0 -290
  86. data/test/unit/gateways/beanstream_interac_test.rb +0 -51
  87. data/test/unit/gateways/beanstream_test.rb +0 -108
  88. data/test/unit/gateways/bogus_test.rb +0 -46
  89. data/test/unit/gateways/braintree_test.rb +0 -118
  90. data/test/unit/gateways/card_stream_test.rb +0 -90
  91. data/test/unit/gateways/cyber_source_test.rb +0 -188
  92. data/test/unit/gateways/data_cash_test.rb +0 -133
  93. data/test/unit/gateways/efsnet_test.rb +0 -123
  94. data/test/unit/gateways/elavon_test.rb +0 -139
  95. data/test/unit/gateways/eway_test.rb +0 -118
  96. data/test/unit/gateways/exact_test.rb +0 -156
  97. data/test/unit/gateways/first_pay_test.rb +0 -125
  98. data/test/unit/gateways/gateway_test.rb +0 -48
  99. data/test/unit/gateways/instapay_test.rb +0 -102
  100. data/test/unit/gateways/jetpay_test.rb +0 -185
  101. data/test/unit/gateways/linkpoint_test.rb +0 -197
  102. data/test/unit/gateways/merchant_e_solutions_test.rb +0 -169
  103. data/test/unit/gateways/merchant_ware_test.rb +0 -188
  104. data/test/unit/gateways/modern_payments_cim_test.rb +0 -162
  105. data/test/unit/gateways/moneris_test.rb +0 -158
  106. data/test/unit/gateways/net_registry_test.rb +0 -416
  107. data/test/unit/gateways/netbilling_test.rb +0 -54
  108. data/test/unit/gateways/ogone_test.rb +0 -319
  109. data/test/unit/gateways/pay_junction_test.rb +0 -123
  110. data/test/unit/gateways/pay_secure_test.rb +0 -71
  111. data/test/unit/gateways/payflow_express_test.rb +0 -173
  112. data/test/unit/gateways/payflow_express_uk_test.rb +0 -86
  113. data/test/unit/gateways/payflow_test.rb +0 -305
  114. data/test/unit/gateways/payflow_uk_test.rb +0 -30
  115. data/test/unit/gateways/payment_express_test.rb +0 -195
  116. data/test/unit/gateways/paypal_express_test.rb +0 -382
  117. data/test/unit/gateways/paypal_test.rb +0 -569
  118. data/test/unit/gateways/plugnpay_test.rb +0 -86
  119. data/test/unit/gateways/psigate_test.rb +0 -169
  120. data/test/unit/gateways/psl_card_test.rb +0 -64
  121. data/test/unit/gateways/quickpay_test.rb +0 -112
  122. data/test/unit/gateways/realex_test.rb +0 -151
  123. data/test/unit/gateways/sage_bankcard_test.rb +0 -196
  124. data/test/unit/gateways/sage_pay_test.rb +0 -139
  125. data/test/unit/gateways/sage_virtual_check_test.rb +0 -71
  126. data/test/unit/gateways/sallie_mae_test.rb +0 -53
  127. data/test/unit/gateways/secure_pay_au_test.rb +0 -207
  128. data/test/unit/gateways/secure_pay_tech_test.rb +0 -44
  129. data/test/unit/gateways/secure_pay_test.rb +0 -101
  130. data/test/unit/gateways/skip_jack_test.rb +0 -213
  131. data/test/unit/gateways/trans_first_test.rb +0 -112
  132. data/test/unit/gateways/trust_commerce_test.rb +0 -90
  133. data/test/unit/gateways/usa_epay_test.rb +0 -128
  134. data/test/unit/gateways/verifi_test.rb +0 -96
  135. data/test/unit/gateways/viaklix_test.rb +0 -78
  136. data/test/unit/gateways/wirecard_test.rb +0 -250
  137. data/test/unit/generators/test_gateway_generator.rb +0 -46
  138. data/test/unit/generators/test_generator_helper.rb +0 -20
  139. data/test/unit/generators/test_integration_generator.rb +0 -53
  140. data/test/unit/integrations/action_view_helper_test.rb +0 -50
  141. data/test/unit/integrations/bogus_module_test.rb +0 -20
  142. data/test/unit/integrations/chronopay_module_test.rb +0 -13
  143. data/test/unit/integrations/gestpay_module_test.rb +0 -14
  144. data/test/unit/integrations/helpers/bogus_helper_test.rb +0 -28
  145. data/test/unit/integrations/helpers/chronopay_helper_test.rb +0 -67
  146. data/test/unit/integrations/helpers/gestpay_helper_test.rb +0 -100
  147. data/test/unit/integrations/helpers/hi_trust_helper_test.rb +0 -16
  148. data/test/unit/integrations/helpers/nochex_helper_test.rb +0 -53
  149. data/test/unit/integrations/helpers/paypal_helper_test.rb +0 -171
  150. data/test/unit/integrations/helpers/quickpay_helper_test.rb +0 -40
  151. data/test/unit/integrations/helpers/two_checkout_helper_test.rb +0 -92
  152. data/test/unit/integrations/hi_trust_module_test.rb +0 -13
  153. data/test/unit/integrations/nochex_module_test.rb +0 -13
  154. data/test/unit/integrations/notifications/chronopay_notification_test.rb +0 -66
  155. data/test/unit/integrations/notifications/gestpay_notification_test.rb +0 -60
  156. data/test/unit/integrations/notifications/hi_trust_notification_test.rb +0 -59
  157. data/test/unit/integrations/notifications/nochex_notification_test.rb +0 -51
  158. data/test/unit/integrations/notifications/notification_test.rb +0 -54
  159. data/test/unit/integrations/notifications/paypal_notification_test.rb +0 -85
  160. data/test/unit/integrations/notifications/quickpay_notification_test.rb +0 -69
  161. data/test/unit/integrations/notifications/two_checkout_notification_test.rb +0 -55
  162. data/test/unit/integrations/paypal_module_test.rb +0 -28
  163. data/test/unit/integrations/quickpay_module_test.rb +0 -9
  164. data/test/unit/integrations/returns/chronopay_return_test.rb +0 -11
  165. data/test/unit/integrations/returns/gestpay_return_test.rb +0 -10
  166. data/test/unit/integrations/returns/hi_trust_return_test.rb +0 -24
  167. data/test/unit/integrations/returns/nochex_return_test.rb +0 -10
  168. data/test/unit/integrations/returns/paypal_return_test.rb +0 -10
  169. data/test/unit/integrations/returns/return_test.rb +0 -11
  170. data/test/unit/integrations/returns/two_checkout_return_test.rb +0 -24
  171. data/test/unit/integrations/two_checkout_module_test.rb +0 -13
  172. data/test/unit/post_data_test.rb +0 -55
  173. data/test/unit/posts_data_test.rb +0 -48
  174. data/test/unit/response_test.rb +0 -28
  175. data/test/unit/utils_test.rb +0 -7
  176. data/test/unit/validateable_test.rb +0 -60
@@ -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,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
@@ -1,173 +0,0 @@
1
- require 'test_helper'
2
-
3
- class RemotePayflowUkTest < Test::Unit::TestCase
4
- def setup
5
- ActiveMerchant::Billing::Base.gateway_mode = :test
6
-
7
- # The default partner is PayPalUk
8
- @gateway = PayflowUkGateway.new(fixtures(:payflow_uk))
9
-
10
- @creditcard = CreditCard.new(
11
- :number => '5105105105105100',
12
- :month => 11,
13
- :year => 2009,
14
- :first_name => 'Cody',
15
- :last_name => 'Fauser',
16
- :verification_value => '000',
17
- :type => 'master'
18
- )
19
-
20
- @solo = CreditCard.new(
21
- :type => "solo",
22
- :number => "6334900000000005",
23
- :month => Time.now.month,
24
- :year => Time.now.year + 1,
25
- :first_name => "Test",
26
- :last_name => "Mensch",
27
- :issue_number => '01'
28
- )
29
-
30
- @switch = CreditCard.new(
31
- :type => "switch",
32
- :number => "5641820000000005",
33
- :verification_value => "000",
34
- :month => 1,
35
- :year => 2008,
36
- :first_name => 'Fred',
37
- :last_name => 'Brooks'
38
- )
39
-
40
- @options = {
41
- :billing_address => {
42
- :name => 'Cody Fauser',
43
- :address1 => '1234 Shady Brook Lane',
44
- :city => 'Ottawa',
45
- :state => 'ON',
46
- :country => 'CA',
47
- :zip => '90210',
48
- :phone => '555-555-5555'
49
- },
50
- :email => 'cody@example.com'
51
- }
52
- end
53
-
54
- def test_successful_purchase
55
- assert response = @gateway.purchase(100000, @creditcard, @options)
56
- assert_equal "Approved", response.message
57
- assert_success response
58
- assert response.test?
59
- assert_not_nil response.authorization
60
- end
61
-
62
- def test_declined_purchase
63
- assert response = @gateway.purchase(210000, @creditcard, @options)
64
- assert_equal 'Failed merchant rule check', response.message
65
- assert_failure response
66
- assert response.test?
67
- end
68
-
69
- def test_successful_purchase_solo
70
- assert response = @gateway.purchase(100000, @solo, @options)
71
- assert_equal "Approved", response.message
72
- assert_success response
73
- assert response.test?
74
- assert_not_nil response.authorization
75
- end
76
-
77
- def test_no_card_issue_or_card_start_with_switch
78
- assert response = @gateway.purchase(100000, @switch, @options)
79
- assert_failure response
80
-
81
- assert_equal "Field format error: CARDSTART or CARDISSUE must be present", response.message
82
- assert_failure response
83
- assert response.test?
84
- end
85
-
86
- def test_successful_purchase_switch_with_issue_number
87
- @switch.issue_number = '01'
88
- assert response = @gateway.purchase(100000, @switch, @options)
89
- assert_equal "Approved", response.message
90
- assert_success response
91
- assert response.test?
92
- assert_not_nil response.authorization
93
- end
94
-
95
- def test_successful_purchase_switch_with_start_date
96
- @switch.start_month = 12
97
- @switch.start_year = 1999
98
- assert response = @gateway.purchase(100000, @switch, @options)
99
- assert_equal "Approved", response.message
100
- assert_success response
101
- assert response.test?
102
- assert_not_nil response.authorization
103
- end
104
-
105
- def test_successful_purchase_switch_with_start_date_and_issue_number
106
- @switch.issue_number = '05'
107
- @switch.start_month = 12
108
- @switch.start_year = 1999
109
- assert response = @gateway.purchase(100000, @switch, @options)
110
- assert_equal "Approved", response.message
111
- assert_success response
112
- assert response.test?
113
- assert_not_nil response.authorization
114
- end
115
-
116
- def test_successful_authorization
117
- assert response = @gateway.authorize(100, @creditcard, @options)
118
- assert_equal "Approved", response.message
119
- assert_success response
120
- assert response.test?
121
- assert_not_nil response.authorization
122
- end
123
-
124
- def test_authorize_and_capture
125
- amount = 100
126
- assert auth = @gateway.authorize(amount, @creditcard, @options)
127
- assert_success auth
128
- assert_equal 'Approved', auth.message
129
- assert auth.authorization
130
- assert capture = @gateway.capture(amount, auth.authorization)
131
- assert_success capture
132
- end
133
-
134
- def test_failed_capture
135
- assert response = @gateway.capture(100, '999')
136
- assert_failure response
137
- assert_equal 'Invalid tender', response.message
138
- end
139
-
140
- def test_authorize_and_void
141
- assert auth = @gateway.authorize(100, @creditcard, @options)
142
- assert_success auth
143
- assert_equal 'Approved', auth.message
144
- assert auth.authorization
145
- assert void = @gateway.void(auth.authorization)
146
- assert_success void
147
- end
148
-
149
- def test_invalid_login
150
- gateway = PayflowGateway.new(
151
- :login => '',
152
- :password => ''
153
- )
154
- assert response = gateway.purchase(100, @creditcard, @options)
155
- assert_equal 'Invalid vendor account', response.message
156
- assert_failure response
157
- end
158
-
159
- def test_duplicate_request_id
160
- gateway = PayflowUkGateway.new(
161
- :login => @login,
162
- :password => @password
163
- )
164
-
165
- request_id = Digest::SHA1.hexdigest(rand.to_s).slice(0,32)
166
- gateway.expects(:generate_unique_id).times(2).returns(request_id)
167
-
168
- response1 = gateway.purchase(100, @creditcard, @options)
169
- assert_nil response1.params['duplicate']
170
- response2 = gateway.purchase(100, @creditcard, @options)
171
- assert response2.params['duplicate']
172
- end
173
- end