spree_auth_devise 3.5.1 → 3.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of spree_auth_devise might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e8eddd8197da8076ad27f516495417f5db97fb024bd395fd84adc4e29cc8b9e1
4
- data.tar.gz: bb02bca1dd99bd5225e8ab53951ee51546f3ec712ca0bf0810a0cd33ed15d723
3
+ metadata.gz: 45307062e764620c14c90a2e46698079e68fcc2cf4a275c9b68b4dd7c440e235
4
+ data.tar.gz: 51a0e596192d24d194635e319ae70894d3d7ff9dcb098c7783c0b70f865f3a53
5
5
  SHA512:
6
- metadata.gz: 618444c8f4066f26facd651392d70a933cdfe8c0aafb19e06b64513039cf0192bd488bfece8a5958fbd54baf8968ba91423d3a667b173e41cd873c40ba0e17f7
7
- data.tar.gz: fa39c0d3d19b048413ae6c13943779f3a26016bbe7bd68959f256363526219f0cb7c304e874b8b25b5f6c251681d13f064765b511a90b106c8bb84a953b80c3f
6
+ metadata.gz: 0467202177d333b27390f4f6fd025e54d8600dfa514419a93d8f9d836740928d7226f8f89a841c215cd5b7e7a83e266bd04f06af4bddd0e961c4faf12d7d944e
7
+ data.tar.gz: 9d362bd0a46360b6907526dfb50c193b2399551bcd64e7804a65521cc893fc50e49adaf01a7ac981530677dfab3db5345ae65a8f48eb835bd82d6a54378f9327
@@ -1,18 +1,14 @@
1
1
  # Merges users orders to their account after sign in and sign up.
2
2
  Warden::Manager.after_set_user except: :fetch do |user, auth, _opts|
3
- guest_token = auth.cookies.signed[:guest_token]
4
- token = auth.cookies.signed[:token]
3
+ token = auth.cookies.signed[:guest_token] || auth.cookies.signed[:token]
4
+ token_attr = Spree::Order.has_attribute?(:token) ? :token : :guest_token
5
5
 
6
6
  if token.present? && user.is_a?(Spree::User)
7
- Spree::Order.incomplete.where(token: token, user_id: nil).each do |order|
8
- order.associate_user!(user)
9
- end
10
- elsif guest_token.present? && user.is_a?(Spree::User)
11
- Spree::Order.incomplete.where(guest_token: guest_token, user_id: nil).each do |order|
7
+ Spree::Order.incomplete.where(token_attr => token, user_id: nil).each do |order|
12
8
  order.associate_user!(user)
13
9
  end
14
10
  end
15
- end
11
+ end
16
12
 
17
13
  Warden::Manager.before_logout do |_user, auth, _opts|
18
14
  auth.cookies.delete(:guest_token)
@@ -106,6 +106,26 @@ RSpec.describe Spree::UserSessionsController, type: :controller do
106
106
  end
107
107
  end
108
108
 
109
+ context 'with a guest_token from a pre-3.7 version of Spree present' do
110
+ before do
111
+ request.cookie_jar.signed[:guest_token] = 'ABC'
112
+ request.cookie_jar.signed[:token] = 'DEF'
113
+ end
114
+
115
+ it 'assigns the correct token attribute for the order' do
116
+ if Spree.version.to_f > 3.6
117
+ order = create(:order, email: user.email, token: 'ABC', user_id: nil, created_by_id: nil)
118
+ else
119
+ order = create(:order, email: user.email, guest_token: 'ABC', user_id: nil, created_by_id: nil)
120
+ end
121
+ spree_post :create, spree_user: { email: user.email, password: 'secret' }
122
+
123
+ order.reload
124
+ expect(order.user_id).to eq user.id
125
+ expect(order.created_by_id).to eq user.id
126
+ end
127
+ end
128
+
109
129
  context "and html format is used" do
110
130
  it "redirects to default after signing in" do
111
131
  spree_post :create, spree_user: { email: user.email, password: 'secret' }
@@ -3,7 +3,7 @@
3
3
  Gem::Specification.new do |s|
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.name = 'spree_auth_devise'
6
- s.version = '3.5.1'
6
+ s.version = '3.5.2'
7
7
  s.summary = 'Provides authentication and authorization services for use with Spree by using Devise and CanCan.'
8
8
  s.description = s.summary
9
9
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_auth_devise
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.1
4
+ version: 3.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Schofield
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-03 00:00:00.000000000 Z
11
+ date: 2019-07-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: devise