From 839dc546864e084bcfe9f5c6b8a1e875e9b6215f Mon Sep 17 00:00:00 2001 From: Pikender Sharma Date: Tue, 31 Jan 2017 14:29:59 +0530 Subject: [PATCH 1/4] Adjusted various gem versions to work w/ Spree3.2 Fixed a failing test --- Gemfile | 12 ++++++------ Versionfile | 2 ++ spec/controllers/spree/payments_controller_spec.rb | 3 ++- spree_bank_transfer.gemspec | 6 +++--- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/Gemfile b/Gemfile index 250c4ca..ee97b4f 100644 --- a/Gemfile +++ b/Gemfile @@ -1,19 +1,19 @@ source 'https://rubygems.org' # Provides basic authentication functionality for testing parts of your engine -version = '3-1-stable' -gem 'spree', github: 'spree/spree', branch: version -gem 'spree_auth_devise', github: 'spree/spree_auth_devise', branch: version +gem 'spree', github: 'spree/spree', branch: '3-2-stable' +gem 'spree_auth_devise', github: 'spree/spree_auth_devise', branch: 'master' -gem 'coffee-rails', ' ~> 4.0.1' +gem 'coffee-rails', ' ~> 4.2' gem 'sass-rails', '~> 5.0.1' group :test do gem 'minitest' - gem 'rspec-rails', '~> 3.4.0' + gem 'rspec-rails', '~> 3.4' gem 'shoulda-matchers', '~> 3.1.1' gem 'rspec-activemodel-mocks', '~> 1.0.3' gem 'simplecov', require: false gem 'database_cleaner' + gem 'rails-controller-testing' end -gemspec \ No newline at end of file +gemspec diff --git a/Versionfile b/Versionfile index cfbe54f..f7ee875 100644 --- a/Versionfile +++ b/Versionfile @@ -1,3 +1,5 @@ +'3.2.x' => { branch: '3-2-updated' } +'3.1.x' => { branch: '3-1-stable' } '3.0.x' => { branch: '3-0-stable' } '2.4.x' => { branch: '2-4-stable' } '2.3.x' => { branch: '2-3-stable' } diff --git a/spec/controllers/spree/payments_controller_spec.rb b/spec/controllers/spree/payments_controller_spec.rb index af247e2..8d0c227 100644 --- a/spec/controllers/spree/payments_controller_spec.rb +++ b/spec/controllers/spree/payments_controller_spec.rb @@ -55,7 +55,8 @@ def send_request it "creates new payment details" do - expect(PaymentDetails).to receive(:new).with(@payment, { 'bank_name' => 'bank_name', 'account_no' => "account_no", 'transaction_reference_no' => "transaction_reference_no" }) + pr = ActionController::Parameters.new('payment' => { 'bank_name' => 'bank_name', 'account_no' => "account_no", 'transaction_reference_no' => "transaction_reference_no" }).require(:payment).permit! + expect(PaymentDetails).to receive(:new).with(@payment, pr) send_request end diff --git a/spree_bank_transfer.gemspec b/spree_bank_transfer.gemspec index e6f6f52..41a46f6 100644 --- a/spree_bank_transfer.gemspec +++ b/spree_bank_transfer.gemspec @@ -2,7 +2,7 @@ Gem::Specification.new do |s| s.platform = Gem::Platform::RUBY s.name = 'spree-bank-transfer' - s.version = '3.1.0' + s.version = '3.2.0' s.summary = 'Spree extension to create bank transfer payment method.' s.description = 'This Spree extension allows admin to provide bank transfer payment method to its users.' s.required_ruby_version = '>= 1.9.3' @@ -16,9 +16,9 @@ Gem::Specification.new do |s| s.require_path = 'lib' s.requirements << 'none' - s.add_dependency 'spree_core', '~> 3.1.0' + s.add_dependency 'spree_core', '~> 3.2.0.rc1' s.add_dependency 'sqlite3', '~> 1.3.10' s.add_development_dependency 'mysql2' s.add_development_dependency 'pg' -end \ No newline at end of file +end From 8851b9a5b886a7892e697f8ba470bbc6c3398f9e Mon Sep 17 00:00:00 2001 From: Pikender Sharma Date: Tue, 31 Jan 2017 15:15:00 +0530 Subject: [PATCH 2/4] Fixed Rails 5 Deprecation Warnings and Updated README for 3.2.x Deprecation redirect_to , before_filter Deprecation use of params hash in spec controller tests Deprecation of using strong parameters as Hash --- README.md | 27 +++++++++++++++++++ app/controllers/spree/payments_controller.rb | 8 +++--- .../spree/admin/banks_controller_spec.rb | 5 +--- .../spree/payments_controller_spec.rb | 14 ++++++---- 4 files changed, 41 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 45daeee..9033881 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,33 @@ gem 'spree-bank-transfer', require: 'spree_bank_transfer' ``` For older versions of Spree. +```ruby +# Spree 3.2.x +gem 'spree-bank-transfer', '3.2.0', require: 'spree_bank_transfer' + +or + +gem 'spree-bank-transfer', require: 'spree_bank_transfer', github: 'vinsol-spree-contrib/spree_bank_transfer', branch: 'master' +``` + +```ruby +# Spree 3.1.x +gem 'spree-bank-transfer', '3.1.0', require: 'spree_bank_transfer' + +or + +gem 'spree-bank-transfer', require: 'spree_bank_transfer', github: 'vinsol-spree-contrib/spree_bank_transfer', branch: '3-1-stable' +``` + +```ruby +# Spree 3.0.x +gem 'spree-bank-transfer', '3.0.0', require: 'spree_bank_transfer' + +or + +gem 'spree-bank-transfer', require: 'spree_bank_transfer', github: 'vinsol-spree-contrib/spree_bank_transfer', branch: '3-0-stable' +``` + ```ruby # Spree 2.1.0 gem 'spree-bank-transfer', '2.1.0', require: 'spree_bank_transfer' diff --git a/app/controllers/spree/payments_controller.rb b/app/controllers/spree/payments_controller.rb index 416faf5..6d6b2ad 100644 --- a/app/controllers/spree/payments_controller.rb +++ b/app/controllers/spree/payments_controller.rb @@ -1,7 +1,7 @@ module Spree class PaymentsController < Spree::StoreController - before_filter :authenticate_spree_user! - before_filter :find_payment + before_action :authenticate_spree_user! + before_action :find_payment def update payment_details = PaymentDetails.new(@payment, payment_params) @@ -10,14 +10,14 @@ def update else flash[:error] = payment_details.errors.to_sentence end - redirect_to :back + redirect_back(fallback_location: root_path) end def find_payment @payment = spree_current_user.payments.find_by(number: params[:id]) unless @payment flash[:error] = Spree.t(:payment_not_found) - redirect_to :back + redirect_back(fallback_location: root_path) end end diff --git a/spec/controllers/spree/admin/banks_controller_spec.rb b/spec/controllers/spree/admin/banks_controller_spec.rb index 2c11ac5..26e0d6e 100644 --- a/spec/controllers/spree/admin/banks_controller_spec.rb +++ b/spec/controllers/spree/admin/banks_controller_spec.rb @@ -25,9 +25,6 @@ def send_request get :index - - - end it "assigns @banks" do @@ -53,7 +50,7 @@ def send_request end def send_request - put :toggle_activation, id: "1", format: :js + put :toggle_activation, params: { id: "1" }, as: :js end it "toggles activation status of bank" do diff --git a/spec/controllers/spree/payments_controller_spec.rb b/spec/controllers/spree/payments_controller_spec.rb index 8d0c227..8db2ea3 100644 --- a/spec/controllers/spree/payments_controller_spec.rb +++ b/spec/controllers/spree/payments_controller_spec.rb @@ -1,6 +1,10 @@ require 'spec_helper' describe Spree::PaymentsController, type: :controller do + # Refer http://stackoverflow.com/a/38233837/306686 + ## Added to get around redirect_to deprectaion warning for Rspec + let(:back) { "http://localhost" } + before do allow(controller).to receive(:authenticate_spree_user!).and_return(true) @user = mock_model(Spree::User, :generate_spree_api_key! => false, last_incomplete_spree_order: nil) @@ -9,7 +13,7 @@ @payment = mock_model(Spree::Payment) @current_user_payments = double("current_user_payments", find_by: @payment) allow(@user).to receive(:payments).and_return(@current_user_payments) - request.env["HTTP_REFERER"] = "http://localhost" + request.env["HTTP_REFERER"] = back end shared_examples_for "request which finds payment" do @@ -36,7 +40,7 @@ it "redirects to back" do send_request - expect(response).to redirect_to(:back) + expect(response).to redirect_to(back) end end end @@ -48,7 +52,7 @@ end def send_request - patch :update, id: 'payment_id', payment: { bank_name: 'bank_name', account_no: "account_no", transaction_reference_no: "transaction_reference_no" } + patch :update, params: {id: 'payment_id', payment: { bank_name: 'bank_name', account_no: "account_no", transaction_reference_no: "transaction_reference_no" }} end it_behaves_like "request which finds payment" @@ -86,14 +90,14 @@ def send_request it "redirects to back" do send_request - expect(response).to redirect_to(:back) + expect(response).to redirect_to(back) end end describe "#payment_params" do it "permits only bank_name, account_no, transaction_reference_no, deposited_on" do controller.params = { payment: { bank_name: 'Bank Name', account_no: 'Account number', transaction_reference_no: "transaction reference number", order_id: 'order_id', deposited_on: 'deposited_on' } } - expect(controller.send(:payment_params)).to eq({ "bank_name" => "Bank Name", "account_no" => "Account number", "transaction_reference_no" => "transaction reference number", 'deposited_on' => 'deposited_on' }) + expect(controller.send(:payment_params).to_h).to eq({ "bank_name" => "Bank Name", "account_no" => "Account number", "transaction_reference_no" => "transaction reference number", 'deposited_on' => 'deposited_on' }) end end end From 6b9c62d5a82da6eb3a34f9908048ff57618f8bad Mon Sep 17 00:00:00 2001 From: Pikender Sharma Date: Fri, 10 Feb 2017 16:03:54 +0530 Subject: [PATCH 3/4] Locked database_cleaner and rails-controller-testing gem versions --- Gemfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index ee97b4f..de212cc 100644 --- a/Gemfile +++ b/Gemfile @@ -13,7 +13,7 @@ group :test do gem 'shoulda-matchers', '~> 3.1.1' gem 'rspec-activemodel-mocks', '~> 1.0.3' gem 'simplecov', require: false - gem 'database_cleaner' - gem 'rails-controller-testing' + gem 'database_cleaner', '~> 1.5.3' + gem 'rails-controller-testing', '~> 1.0.1' end gemspec From c6b5bce5cbb4987edd89a25a038904e159327191 Mon Sep 17 00:00:00 2001 From: Pikender Sharma Date: Sun, 19 Feb 2017 00:36:29 +0530 Subject: [PATCH 4/4] Changed Spree 3.2 version from rc1 to rc2 --- spree_bank_transfer.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spree_bank_transfer.gemspec b/spree_bank_transfer.gemspec index 41a46f6..1324084 100644 --- a/spree_bank_transfer.gemspec +++ b/spree_bank_transfer.gemspec @@ -16,7 +16,7 @@ Gem::Specification.new do |s| s.require_path = 'lib' s.requirements << 'none' - s.add_dependency 'spree_core', '~> 3.2.0.rc1' + s.add_dependency 'spree_core', '~> 3.2.0.rc2' s.add_dependency 'sqlite3', '~> 1.3.10' s.add_development_dependency 'mysql2' s.add_development_dependency 'pg'