spree_gateway 3.1.0 → 3.2.0.beta

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3a3dc1a49d41448e702c7c23b0955b6ae6f14eef
4
- data.tar.gz: c32f5c5115fd9e2af9b74a706fa10cec8777496d
3
+ metadata.gz: de80caa4522285cd27f1a301ef97b5c8a55b97ac
4
+ data.tar.gz: b845e06202782fa21dc24ee638037dfc8dab433d
5
5
  SHA512:
6
- metadata.gz: db6931485b62ea5dc439c4db66b111e1eac00f630e142fc729f2a199b22765e06a33185a1acb9f7b670aa70f3a522ee1dea7b6826eb7633b6491aeaa9b671d21
7
- data.tar.gz: 44e52ced5d6720c55e8c1197eafd2bf11e9a21acdff98ba99def0970fbef5b48e0a01a44e8165f605481972c1725de62ae373a207120d4f98a6b5545a338feab
6
+ metadata.gz: 48adbc9c754c4ee9bf87577fc7f7ececb41c0bf04e4a938b24b4ff2876fba318f9b6fbf07974e1cdafc01316cc15d3668dd4aa909899dac2646520bc12cee1ba
7
+ data.tar.gz: 899026855249b287e02426298925d293d03f375d60155543c076560d88b506160107857a7f5e5df79e0cb2cc245d4b15e1f6f8ab5a5ab8db784ef6abe0f84751
data/.travis.yml CHANGED
@@ -7,5 +7,5 @@ env:
7
7
  - DB=postgres
8
8
  language: ruby
9
9
  rvm:
10
- - 2.1
10
+ - 2.2.5
11
11
  sudo: false
@@ -0,0 +1,9 @@
1
+ module Spree
2
+ class Gateway::Quickpay < Gateway
3
+ preference :api_key, :string
4
+
5
+ def provider_class
6
+ ActiveMerchant::Billing::QuickpayV10Gateway
7
+ end
8
+ end
9
+ end
@@ -20,7 +20,7 @@ module Spree
20
20
 
21
21
  until @order.state == "complete"
22
22
  if @order.next!
23
- @order.update!
23
+ @order.update_with_updater!
24
24
  state_callback(:after)
25
25
  end
26
26
  end
data/lib/spree_gateway.rb CHANGED
@@ -1,4 +1,3 @@
1
1
  require 'spree_core'
2
2
  require 'spree_gateway/engine'
3
- require 'coffee_script'
4
- require 'sass/rails'
3
+ require 'sass/rails'
@@ -25,6 +25,7 @@ module SpreeGateway
25
25
  app.config.spree.payment_methods << Spree::Gateway::PayflowPro
26
26
  app.config.spree.payment_methods << Spree::Gateway::Paymill
27
27
  app.config.spree.payment_methods << Spree::Gateway::PinGateway
28
+ app.config.spree.payment_methods << Spree::Gateway::Quickpay
28
29
  app.config.spree.payment_methods << Spree::Gateway::SagePay
29
30
  app.config.spree.payment_methods << Spree::Gateway::SecurePayAU
30
31
  app.config.spree.payment_methods << Spree::Gateway::SpreedlyCoreGateway
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe "Stripe checkout" do
3
+ describe "Stripe checkout", type: :feature do
4
4
  let!(:country) { create(:country, :states_required => true) }
5
5
  let!(:state) { create(:state, :country => country) }
6
6
  let!(:shipping_method) { create(:shipping_method) }
@@ -24,13 +24,20 @@ describe "Stripe checkout" do
24
24
 
25
25
  order.reload
26
26
  order.user = user
27
- order.update!
27
+ order.update_with_updater!
28
28
 
29
29
  Spree::CheckoutController.any_instance.stub(:current_order => order)
30
30
  Spree::CheckoutController.any_instance.stub(:try_spree_current_user => user)
31
31
  Spree::CheckoutController.any_instance.stub(:skip_state_validation? => true)
32
32
 
33
+ # Capybara should wait up to 10 seconds for async. changes to be applied
34
+ Capybara.default_max_wait_time = 10
35
+
33
36
  visit spree.checkout_state_path(:payment)
37
+ begin
38
+ setup_stripe_watcher
39
+ rescue Capybara::NotSupportedByDriverError
40
+ end
34
41
  end
35
42
 
36
43
  # This will pass the CC data to the server and the StripeGateway class handles it
@@ -39,9 +46,9 @@ describe "Stripe checkout" do
39
46
  fill_in "Card Code", :with => "123"
40
47
  fill_in "Expiration", :with => "01 / #{Time.now.year + 1}"
41
48
  click_button "Save and Continue"
42
- page.current_url.should include("/checkout/confirm")
49
+ expect(page.current_url).to include("/checkout/confirm")
43
50
  click_button "Place Order"
44
- page.should have_content("Your order has been processed successfully")
51
+ expect(page).to have_content("Your order has been processed successfully")
45
52
  end
46
53
 
47
54
  # This will fetch a token from Stripe.com and then pass that to the webserver.
@@ -53,24 +60,29 @@ describe "Stripe checkout" do
53
60
  fill_in "Card Code", :with => "123"
54
61
  fill_in "Expiration", :with => "01 / #{Time.now.year + 1}"
55
62
  click_button "Save and Continue"
56
- sleep(5) # Wait for Stripe API to return + form to submit
57
- page.current_url.should include("/checkout/confirm")
63
+ wait_for_stripe # Wait for Stripe API to return + form to submit
64
+ expect(page).to have_css('#checkout_form_confirm')
65
+ expect(page.current_url).to include("/checkout/confirm")
58
66
  click_button "Place Order"
59
- page.should have_content("Your order has been processed successfully")
67
+ expect(page).to have_content("Your order has been processed successfully")
60
68
  end
61
69
 
62
70
  it "shows an error with an invalid credit card number", :js => true do
71
+ # Card number is NOT valid. Fails Luhn checksum
72
+ fill_in "Card Number", :with => "4242 4242 4242 4249"
63
73
  click_button "Save and Continue"
64
- page.should have_content("The card number is not a valid credit card number")
65
- page.should have_css('.has-error #card_number.error')
74
+ wait_for_stripe
75
+ expect(page).to have_content("Your card number is incorrect")
76
+ expect(page).to have_css('.has-error #card_number.error')
66
77
  end
67
78
 
68
79
  it "shows an error with invalid security fields", :js => true do
69
80
  fill_in "Card Number", :with => "4242 4242 4242 4242"
70
81
  fill_in "Expiration", :with => "01 / #{Time.now.year + 1}"
71
82
  click_button "Save and Continue"
72
- page.should have_content("Your card's security code is invalid.")
73
- page.should have_css('.has-error #card_code.error')
83
+ wait_for_stripe
84
+ expect(page).to have_content("Your card's security code is invalid.")
85
+ expect(page).to have_css('.has-error #card_code.error')
74
86
  end
75
87
 
76
88
  it "shows an error with invalid expiry month field", :js => true do
@@ -78,8 +90,9 @@ describe "Stripe checkout" do
78
90
  fill_in "Expiration", :with => "00 / #{Time.now.year + 1}"
79
91
  fill_in "Card Code", :with => "123"
80
92
  click_button "Save and Continue"
81
- page.should have_content("Your card's expiration month is invalid.")
82
- page.should have_css('.has-error #card_expiry.error')
93
+ wait_for_stripe
94
+ expect(page).to have_content("Your card's expiration month is invalid.")
95
+ expect(page).to have_css('.has-error #card_expiry.error')
83
96
  end
84
97
 
85
98
  it "shows an error with invalid expiry year field", :js => true do
@@ -87,7 +100,8 @@ describe "Stripe checkout" do
87
100
  fill_in "Expiration", :with => "12 / "
88
101
  fill_in "Card Code", :with => "123"
89
102
  click_button "Save and Continue"
90
- page.should have_content("Your card's expiration year is invalid.")
91
- page.should have_css('.has-error #card_expiry.error')
103
+ wait_for_stripe
104
+ expect(page).to have_content("Your card's expiration year is invalid.")
105
+ expect(page).to have_css('.has-error #card_expiry.error')
92
106
  end
93
107
  end
@@ -2,6 +2,9 @@ require 'spec_helper'
2
2
  require 'pry'
3
3
 
4
4
  describe Spree::Gateway::BraintreeGateway do
5
+ let!(:country) { create(:country, name: 'United States', iso_name: 'UNITED STATES', iso3: 'USA', iso: 'US', numcode: 840) }
6
+ let!(:state) { create(:state, name: 'Maryland', abbr: 'MD', country: country) }
7
+ let!(:address) { create(:address, firstname: 'John', lastname: 'Doe', address1: '1234 My Street', address2: 'Apt 1', city: 'Washington DC', zipcode: '20123', phone: '(555)555-5555', state: state, country: country) }
5
8
 
6
9
  before do
7
10
  Spree::Gateway.update_all(active: false)
@@ -15,22 +18,8 @@ describe Spree::Gateway::BraintreeGateway do
15
18
  @gateway.save!
16
19
 
17
20
  with_payment_profiles_off do
18
- country = create(:country, name: 'United States', iso_name: 'UNITED STATES', iso3: 'USA', iso: 'US', numcode: 840)
19
- state = create(:state, name: 'Maryland', abbr: 'MD', country: country)
20
- address = create(:address,
21
- firstname: 'John',
22
- lastname: 'Doe',
23
- address1: '1234 My Street',
24
- address2: 'Apt 1',
25
- city: 'Washington DC',
26
- zipcode: '20123',
27
- phone: '(555)555-5555',
28
- state: state,
29
- country: country
30
- )
31
-
32
21
  order = create(:order_with_totals, bill_address: address, ship_address: address)
33
- order.update!
22
+ order.update_with_updater!
34
23
 
35
24
  # Use a valid CC from braintree sandbox: https://www.braintreepayments.com/docs/ruby/reference/sandbox
36
25
 
@@ -48,23 +37,8 @@ describe Spree::Gateway::BraintreeGateway do
48
37
 
49
38
  describe 'payment profile creation' do
50
39
  before do
51
- country = create(:country, name: 'United States', iso_name: 'UNITED STATES', iso3: 'USA', iso: 'US', numcode: 840)
52
- state = create(:state, name: 'Maryland', abbr: 'MD', country: country)
53
- address = create(:address,
54
- firstname: 'John',
55
- lastname: 'Doe',
56
- address1: '1234 My Street',
57
- address2: 'Apt 1',
58
- city: 'Washington DC',
59
- zipcode: '20123',
60
- phone: '(555)555-5555',
61
- state: state,
62
- country: country
63
- )
64
- @address = address
65
-
66
40
  order = create(:order_with_totals, bill_address: address, ship_address: address)
67
- order.update!
41
+ order.update_with_updater!
68
42
 
69
43
  @credit_card = create(:credit_card,
70
44
  verification_value: '123',
@@ -82,12 +56,12 @@ describe Spree::Gateway::BraintreeGateway do
82
56
  remote_customer = @gateway.provider.instance_variable_get(:@braintree_gateway).customer.find(@credit_card.gateway_customer_profile_id)
83
57
  remote_address = remote_customer.addresses.first rescue nil
84
58
  expect(remote_address).not_to be_nil
85
- expect(remote_address.street_address).to eq(@address.address1)
86
- expect(remote_address.extended_address).to eq(@address.address2)
87
- expect(remote_address.locality).to eq(@address.city)
88
- expect(remote_address.region).to eq(@address.state.name)
89
- expect(remote_address.country_code_alpha2).to eq(@address.country.iso)
90
- expect(remote_address.postal_code).to eq(@address.zipcode)
59
+ expect(remote_address.street_address).to eq(address.address1)
60
+ expect(remote_address.extended_address).to eq(address.address2)
61
+ expect(remote_address.locality).to eq(address.city)
62
+ expect(remote_address.region).to eq(address.state.name)
63
+ expect(remote_address.country_code_alpha2).to eq(address.country.iso)
64
+ expect(remote_address.postal_code).to eq(address.zipcode)
91
65
  end
92
66
  end
93
67
 
@@ -95,23 +69,8 @@ describe Spree::Gateway::BraintreeGateway do
95
69
 
96
70
  describe 'payment profile failure' do
97
71
  before do
98
- country = create(:country, name: 'United States', iso_name: 'UNITED STATES', iso3: 'USA', iso: 'US', numcode: 840)
99
- state = create(:state, name: 'Maryland', abbr: 'MD', country: country)
100
- address = create(:address,
101
- firstname: 'John',
102
- lastname: 'Doe',
103
- address1: '1234 My Street',
104
- address2: 'Apt 1',
105
- city: 'Washington DC',
106
- zipcode: '20123',
107
- phone: '(555)555-5555',
108
- state: state,
109
- country: country
110
- )
111
- @address = address
112
-
113
72
  order = create(:order_with_totals, bill_address: address, ship_address: address)
114
- order.update!
73
+ order.update_with_updater!
115
74
 
116
75
  @credit_card = create(:credit_card,
117
76
  verification_value: '123',
@@ -212,7 +171,7 @@ describe Spree::Gateway::BraintreeGateway do
212
171
  result = @gateway.authorize(500, @credit_card)
213
172
 
214
173
  expect(result.success?).to be true
215
- expect(result.authorization).to match /\A\w{6}\z/
174
+ expect(result.authorization).to match /\A\w{6,}\z/
216
175
  expect(Braintree::Transaction::Status::Authorized).to eq Braintree::Transaction.find(result.authorization).status
217
176
  end
218
177
 
@@ -223,10 +182,10 @@ describe Spree::Gateway::BraintreeGateway do
223
182
 
224
183
  @payment.process!
225
184
  expect(@payment.log_entries.size).to eq(1)
226
- expect(@payment.response_code).to match /\A\w{6}\z/
185
+ expect(@payment.transaction_id).to match /\A\w{6,}\z/
227
186
  expect(@payment.state).to eq 'pending'
228
187
 
229
- transaction = ::Braintree::Transaction.find(@payment.response_code)
188
+ transaction = ::Braintree::Transaction.find(@payment.transaction_id)
230
189
  expect(transaction.status).to eq Braintree::Transaction::Status::Authorized
231
190
 
232
191
  card_number = @credit_card.number[0..5] + '******' + @credit_card.number[-4..-1]
@@ -293,15 +252,15 @@ describe Spree::Gateway::BraintreeGateway do
293
252
  it 'do capture a previous authorization' do
294
253
  @payment.process!
295
254
  expect(@payment.log_entries.size).to eq(1)
296
- expect(@payment.response_code).to match /\A\w{6}\z/
255
+ expect(@payment.transaction_id).to match /\A\w{6,}\z/
297
256
 
298
- transaction = ::Braintree::Transaction.find(@payment.response_code)
257
+ transaction = ::Braintree::Transaction.find(@payment.transaction_id)
299
258
  expect(transaction.status).to eq Braintree::Transaction::Status::Authorized
300
259
 
301
- capture_result = @gateway.capture(@payment.amount, @payment.response_code)
260
+ capture_result = @gateway.capture(@payment.amount, @payment.transaction_id)
302
261
  expect(capture_result.success?).to be true
303
262
 
304
- transaction = ::Braintree::Transaction.find(@payment.response_code)
263
+ transaction = ::Braintree::Transaction.find(@payment.transaction_id)
305
264
  expect(transaction.status).to eq Braintree::Transaction::Status::SubmittedForSettlement
306
265
  end
307
266
 
@@ -312,11 +271,11 @@ describe Spree::Gateway::BraintreeGateway do
312
271
  @payment.process!
313
272
  expect(@payment.log_entries.size).to eq(1)
314
273
 
315
- transaction = ::Braintree::Transaction.find(@payment.response_code)
274
+ transaction = ::Braintree::Transaction.find(@payment.transaction_id)
316
275
  expect(transaction.status).to eq Braintree::Transaction::Status::Authorized
317
276
 
318
277
  @payment.capture! # as done in PaymentsController#fire
319
- transaction = ::Braintree::Transaction.find(@payment.response_code)
278
+ transaction = ::Braintree::Transaction.find(@payment.transaction_id)
320
279
  expect(transaction.status).to eq Braintree::Transaction::Status::SubmittedForSettlement
321
280
  expect(@payment.completed?).to be true
322
281
  end
@@ -326,20 +285,20 @@ describe Spree::Gateway::BraintreeGateway do
326
285
  it 'return a success response with an authorization code' do
327
286
  result = @gateway.purchase(500, @credit_card)
328
287
  expect(result.success?).to be true
329
- expect(result.authorization).to match /\A\w{6}\z/
288
+ expect(result.authorization).to match /\A\w{6,}\z/
330
289
  expect(Braintree::Transaction::Status::SubmittedForSettlement).to eq Braintree::Transaction.find(result.authorization).status
331
290
  end
332
291
 
333
292
  it 'work through the spree payment interface with payment profiles' do
334
293
  purchase_using_spree_interface
335
- transaction = ::Braintree::Transaction.find(@payment.response_code)
294
+ transaction = ::Braintree::Transaction.find(@payment.transaction_id)
336
295
  expect(transaction.credit_card_details.token).not_to be_nil
337
296
  end
338
297
 
339
298
  it 'work through the spree payment interface without payment profiles' do
340
299
  with_payment_profiles_off do
341
300
  purchase_using_spree_interface(false)
342
- transaction = ::Braintree::Transaction.find(@payment.response_code)
301
+ transaction = ::Braintree::Transaction.find(@payment.transaction_id)
343
302
  expect(transaction.credit_card_details.token).to be_nil
344
303
  end
345
304
  end
@@ -364,9 +323,9 @@ describe Spree::Gateway::BraintreeGateway do
364
323
  @payment.process!
365
324
 
366
325
  expect(@payment.log_entries.size).to eq(1)
367
- expect(@payment.response_code).to match /\A\w{6}\z/
326
+ expect(@payment.transaction_id).to match /\A\w{6,}\z/
368
327
 
369
- transaction = Braintree::Transaction.find(@payment.response_code)
328
+ transaction = Braintree::Transaction.find(@payment.transaction_id)
370
329
  expect(transaction.status).to eq Braintree::Transaction::Status::SubmittedForSettlement
371
330
 
372
331
  @payment.void_transaction!
@@ -390,9 +349,9 @@ describe Spree::Gateway::BraintreeGateway do
390
349
 
391
350
  # Let's get the payment record associated with the credit
392
351
  @payment = @order.payments.last
393
- expect(@payment.response_code).to match /\A\w{6}\z/
352
+ expect(@payment.transaction_id).to match /\A\w{6,}\z/
394
353
 
395
- transaction = ::Braintree::Transaction.find(@payment.response_code)
354
+ transaction = ::Braintree::Transaction.find(@payment.transaction_id)
396
355
  expect(transaction.type).to eq Braintree::Transaction::Type::Credit
397
356
  expect(transaction.status).to eq Braintree::Transaction::Status::SubmittedForSettlement
398
357
  expect(transaction.credit_card_details.masked_number).to eq '555555******4444'
@@ -407,10 +366,10 @@ describe Spree::Gateway::BraintreeGateway do
407
366
  @payment.log_entries.size == 0
408
367
  @payment.process! # as done in PaymentsController#create
409
368
  @payment.log_entries.size == 1
410
- expect(@payment.response_code).to match /\A\w{6}\z/
369
+ expect(@payment.transaction_id).to match /\A\w{6,}\z/
411
370
  expect(@payment.state).to eq 'completed'
412
371
 
413
- transaction = ::Braintree::Transaction.find(@payment.response_code)
372
+ transaction = ::Braintree::Transaction.find(@payment.transaction_id)
414
373
  expect(Braintree::Transaction::Status::SubmittedForSettlement).to eq transaction.status
415
374
  expect(transaction.credit_card_details.masked_number).to eq '555555******4444'
416
375
  expect(transaction.credit_card_details.expiration_date).to eq "09/#{Time.now.year + 1}"
@@ -23,7 +23,7 @@ describe Spree::Gateway::PinGateway do
23
23
  )
24
24
 
25
25
  order = create(:order_with_totals, bill_address: address, ship_address: address)
26
- order.update!
26
+ order.update_with_updater!
27
27
 
28
28
  credit_card = create(:credit_card,
29
29
  verification_value: '123',
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+
3
+ describe Spree::Gateway::Quickpay do
4
+ let(:gateway) { described_class.create!(name: 'QuickpayGateway') }
5
+
6
+ context '.provider_class' do
7
+ it 'is a Quickpay gateway' do
8
+ expect(gateway.provider_class).to eq ::ActiveMerchant::Billing::QuickpayV10Gateway
9
+ end
10
+ end
11
+ end
@@ -21,7 +21,7 @@ describe Spree::Gateway::UsaEpayTransaction do
21
21
  country: country)
22
22
 
23
23
  order = create(:order_with_totals, bill_address: address, ship_address: address)
24
- order.update!
24
+ order.update_with_updater!
25
25
 
26
26
  credit_card = create(:credit_card,
27
27
  verification_value: '123',
data/spec/spec_helper.rb CHANGED
@@ -10,21 +10,26 @@ require 'rspec/active_model/mocks'
10
10
  require 'capybara/rspec'
11
11
  require 'capybara/rails'
12
12
  require 'capybara/poltergeist'
13
+ require 'capybara-screenshot/rspec'
13
14
  require 'database_cleaner'
14
15
  require 'ffaker'
15
16
  require 'rspec/active_model/mocks'
17
+ require 'rails-controller-testing'
16
18
 
17
- Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
19
+ Dir[File.join(File.dirname(__FILE__), "support", "**", "*.rb")].each { |f| require f }
18
20
 
19
21
  require 'spree/testing_support/factories'
20
22
  require 'spree/testing_support/order_walkthrough'
21
23
  require 'spree/testing_support/preferences'
24
+ require 'spree/testing_support/capybara_ext'
22
25
 
23
26
  FactoryGirl.find_definitions
24
27
 
25
28
  RSpec.configure do |config|
26
29
  config.infer_spec_type_from_file_location!
27
- config.mock_with :rspec
30
+ config.mock_with :rspec do |mock|
31
+ mock.syntax = [:should, :expect]
32
+ end
28
33
  config.raise_errors_for_deprecations!
29
34
  config.use_transactional_fixtures = false
30
35
  #config.filter_run focus: true
@@ -49,4 +54,10 @@ RSpec.configure do |config|
49
54
  end
50
55
 
51
56
  Capybara.javascript_driver = :poltergeist
57
+
58
+ [:controller, :view, :request].each do |type|
59
+ config.include ::Rails::Controller::Testing::TestProcess, type: type
60
+ config.include ::Rails::Controller::Testing::TemplateAssertions, type: type
61
+ config.include ::Rails::Controller::Testing::Integration, type: type
62
+ end
52
63
  end
@@ -0,0 +1,27 @@
1
+ module WaitForStripe
2
+ def wait_for_stripe
3
+ Timeout.timeout(Capybara.default_max_wait_time) do
4
+ loop until page.evaluate_script('window.activeStripeRequests').zero?
5
+ end
6
+ end
7
+
8
+ def setup_stripe_watcher
9
+ page.evaluate_script <<-JS
10
+ window.activeStripeRequests = 0;
11
+ $('#checkout_form_payment [data-hook=buttons]').on('click', function() {
12
+ window.activeStripeRequests = window.activeStripeRequests + 1;
13
+ });
14
+ stripeResponseHandler = (function() {
15
+ var _f = stripeResponseHandler;
16
+ return function() {
17
+ window.activeStripeRequests = window.activeStripeRequests - 1;
18
+ _f.apply(this, arguments);
19
+ }
20
+ })();
21
+ JS
22
+ end
23
+ end
24
+
25
+ RSpec.configure do |config|
26
+ config.include WaitForStripe, type: :feature
27
+ end
@@ -2,7 +2,7 @@
2
2
  Gem::Specification.new do |s|
3
3
  s.platform = Gem::Platform::RUBY
4
4
  s.name = 'spree_gateway'
5
- s.version = '3.1.0'
5
+ s.version = '3.2.0.beta'
6
6
  s.summary = 'Additional Payment Gateways for Spree Commerce'
7
7
  s.description = s.summary
8
8
 
@@ -16,25 +16,28 @@ Gem::Specification.new do |s|
16
16
  s.require_path = 'lib'
17
17
  s.requirements << 'none'
18
18
 
19
- s.add_dependency 'spree_core', '~> 3.1.0.beta'
19
+ spree_version = '>= 3.1.0', '< 4.0'
20
+ s.add_dependency 'spree_core', spree_version
20
21
 
21
22
  s.add_development_dependency 'braintree'
22
23
  s.add_development_dependency 'capybara'
23
- s.add_development_dependency 'coffee-rails', '~> 4.0.0'
24
- s.add_development_dependency 'database_cleaner', '1.2.0'
25
- s.add_development_dependency 'factory_girl', '~> 4.4'
24
+ s.add_development_dependency 'capybara-screenshot'
25
+ s.add_development_dependency 'coffee-rails'
26
+ s.add_development_dependency 'database_cleaner'
27
+ s.add_development_dependency 'factory_girl'
26
28
  s.add_development_dependency 'ffaker'
27
29
  s.add_development_dependency 'guard-rspec'
28
30
  s.add_development_dependency 'launchy'
29
31
  s.add_development_dependency 'mysql2'
30
32
  s.add_development_dependency 'pg'
31
- s.add_development_dependency 'poltergeist', '~> 1.6.0'
33
+ s.add_development_dependency 'poltergeist'
32
34
  s.add_development_dependency 'pry'
33
35
  s.add_development_dependency 'rspec-activemodel-mocks'
34
- s.add_development_dependency 'rspec-rails', '~> 2.99'
36
+ s.add_development_dependency 'rspec-rails'
35
37
  s.add_development_dependency 'bootstrap-sass', '>= 3.3.5.1'
36
38
  s.add_development_dependency 'sass-rails', '>= 3.2'
37
39
  s.add_development_dependency 'selenium-webdriver'
38
40
  s.add_development_dependency 'simplecov'
39
41
  s.add_development_dependency 'sqlite3'
42
+ s.add_development_dependency 'rails-controller-testing'
40
43
  end
metadata CHANGED
@@ -1,29 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_gateway
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.2.0.beta
5
5
  platform: ruby
6
6
  authors:
7
7
  - Spree Commerce
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-07 00:00:00.000000000 Z
11
+ date: 2016-12-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: spree_core
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 3.1.0
20
+ - - "<"
18
21
  - !ruby/object:Gem::Version
19
- version: 3.1.0.beta
22
+ version: '4.0'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 3.1.0
30
+ - - "<"
25
31
  - !ruby/object:Gem::Version
26
- version: 3.1.0.beta
32
+ version: '4.0'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: braintree
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -52,48 +58,62 @@ dependencies:
52
58
  - - ">="
53
59
  - !ruby/object:Gem::Version
54
60
  version: '0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: capybara-screenshot
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
55
75
  - !ruby/object:Gem::Dependency
56
76
  name: coffee-rails
57
77
  requirement: !ruby/object:Gem::Requirement
58
78
  requirements:
59
- - - "~>"
79
+ - - ">="
60
80
  - !ruby/object:Gem::Version
61
- version: 4.0.0
81
+ version: '0'
62
82
  type: :development
63
83
  prerelease: false
64
84
  version_requirements: !ruby/object:Gem::Requirement
65
85
  requirements:
66
- - - "~>"
86
+ - - ">="
67
87
  - !ruby/object:Gem::Version
68
- version: 4.0.0
88
+ version: '0'
69
89
  - !ruby/object:Gem::Dependency
70
90
  name: database_cleaner
71
91
  requirement: !ruby/object:Gem::Requirement
72
92
  requirements:
73
- - - '='
93
+ - - ">="
74
94
  - !ruby/object:Gem::Version
75
- version: 1.2.0
95
+ version: '0'
76
96
  type: :development
77
97
  prerelease: false
78
98
  version_requirements: !ruby/object:Gem::Requirement
79
99
  requirements:
80
- - - '='
100
+ - - ">="
81
101
  - !ruby/object:Gem::Version
82
- version: 1.2.0
102
+ version: '0'
83
103
  - !ruby/object:Gem::Dependency
84
104
  name: factory_girl
85
105
  requirement: !ruby/object:Gem::Requirement
86
106
  requirements:
87
- - - "~>"
107
+ - - ">="
88
108
  - !ruby/object:Gem::Version
89
- version: '4.4'
109
+ version: '0'
90
110
  type: :development
91
111
  prerelease: false
92
112
  version_requirements: !ruby/object:Gem::Requirement
93
113
  requirements:
94
- - - "~>"
114
+ - - ">="
95
115
  - !ruby/object:Gem::Version
96
- version: '4.4'
116
+ version: '0'
97
117
  - !ruby/object:Gem::Dependency
98
118
  name: ffaker
99
119
  requirement: !ruby/object:Gem::Requirement
@@ -168,16 +188,16 @@ dependencies:
168
188
  name: poltergeist
169
189
  requirement: !ruby/object:Gem::Requirement
170
190
  requirements:
171
- - - "~>"
191
+ - - ">="
172
192
  - !ruby/object:Gem::Version
173
- version: 1.6.0
193
+ version: '0'
174
194
  type: :development
175
195
  prerelease: false
176
196
  version_requirements: !ruby/object:Gem::Requirement
177
197
  requirements:
178
- - - "~>"
198
+ - - ">="
179
199
  - !ruby/object:Gem::Version
180
- version: 1.6.0
200
+ version: '0'
181
201
  - !ruby/object:Gem::Dependency
182
202
  name: pry
183
203
  requirement: !ruby/object:Gem::Requirement
@@ -210,16 +230,16 @@ dependencies:
210
230
  name: rspec-rails
211
231
  requirement: !ruby/object:Gem::Requirement
212
232
  requirements:
213
- - - "~>"
233
+ - - ">="
214
234
  - !ruby/object:Gem::Version
215
- version: '2.99'
235
+ version: '0'
216
236
  type: :development
217
237
  prerelease: false
218
238
  version_requirements: !ruby/object:Gem::Requirement
219
239
  requirements:
220
- - - "~>"
240
+ - - ">="
221
241
  - !ruby/object:Gem::Version
222
- version: '2.99'
242
+ version: '0'
223
243
  - !ruby/object:Gem::Dependency
224
244
  name: bootstrap-sass
225
245
  requirement: !ruby/object:Gem::Requirement
@@ -290,6 +310,20 @@ dependencies:
290
310
  - - ">="
291
311
  - !ruby/object:Gem::Version
292
312
  version: '0'
313
+ - !ruby/object:Gem::Dependency
314
+ name: rails-controller-testing
315
+ requirement: !ruby/object:Gem::Requirement
316
+ requirements:
317
+ - - ">="
318
+ - !ruby/object:Gem::Version
319
+ version: '0'
320
+ type: :development
321
+ prerelease: false
322
+ version_requirements: !ruby/object:Gem::Requirement
323
+ requirements:
324
+ - - ">="
325
+ - !ruby/object:Gem::Version
326
+ version: '0'
293
327
  description: Additional Payment Gateways for Spree Commerce
294
328
  email: gems@spreecommerce.com
295
329
  executables: []
@@ -325,6 +359,7 @@ files:
325
359
  - app/models/spree/gateway/payflow_pro.rb
326
360
  - app/models/spree/gateway/paymill.rb
327
361
  - app/models/spree/gateway/pin_gateway.rb
362
+ - app/models/spree/gateway/quickpay.rb
328
363
  - app/models/spree/gateway/sage_pay.rb
329
364
  - app/models/spree/gateway/secure_pay_au.rb
330
365
  - app/models/spree/gateway/spreedly_core_gateway.rb
@@ -385,6 +420,7 @@ files:
385
420
  - spec/models/gateway/payflow_pro_spec.rb
386
421
  - spec/models/gateway/paymill_spec.rb
387
422
  - spec/models/gateway/pin_gateway_spec.rb
423
+ - spec/models/gateway/quickpay_spec.rb
388
424
  - spec/models/gateway/sage_pay_spec.rb
389
425
  - spec/models/gateway/secure_pay_au_spec.rb
390
426
  - spec/models/gateway/stripe_gateway_spec.rb
@@ -392,6 +428,7 @@ files:
392
428
  - spec/models/gateway/worldpay_spec.rb
393
429
  - spec/models/skrill_transaction_spec.rb
394
430
  - spec/spec_helper.rb
431
+ - spec/support/wait_for_stripe.rb
395
432
  - spree_gateway.gemspec
396
433
  homepage: http://www.spreecommerce.com
397
434
  licenses:
@@ -408,13 +445,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
408
445
  version: '0'
409
446
  required_rubygems_version: !ruby/object:Gem::Requirement
410
447
  requirements:
411
- - - ">="
448
+ - - ">"
412
449
  - !ruby/object:Gem::Version
413
- version: '0'
450
+ version: 1.3.1
414
451
  requirements:
415
452
  - none
416
453
  rubyforge_project:
417
- rubygems_version: 2.4.8
454
+ rubygems_version: 2.5.1
418
455
  signing_key:
419
456
  specification_version: 4
420
457
  summary: Additional Payment Gateways for Spree Commerce
@@ -444,6 +481,7 @@ test_files:
444
481
  - spec/models/gateway/payflow_pro_spec.rb
445
482
  - spec/models/gateway/paymill_spec.rb
446
483
  - spec/models/gateway/pin_gateway_spec.rb
484
+ - spec/models/gateway/quickpay_spec.rb
447
485
  - spec/models/gateway/sage_pay_spec.rb
448
486
  - spec/models/gateway/secure_pay_au_spec.rb
449
487
  - spec/models/gateway/stripe_gateway_spec.rb
@@ -451,3 +489,4 @@ test_files:
451
489
  - spec/models/gateway/worldpay_spec.rb
452
490
  - spec/models/skrill_transaction_spec.rb
453
491
  - spec/spec_helper.rb
492
+ - spec/support/wait_for_stripe.rb