solidus_auth_devise 2.5.8 → 2.5.9
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.
- checksums.yaml +4 -4
- data/.circleci/config.yml +5 -5
- data/.rubocop_todo.yml +1 -2
- data/Gemfile +2 -2
- data/README.md +1 -1
- data/bin/sandbox +2 -2
- data/config/initializers/warden.rb +1 -1
- data/lib/controllers/backend/spree/admin/user_sessions_controller.rb +4 -0
- data/lib/controllers/frontend/spree/users_controller.rb +2 -0
- data/lib/solidus_auth_devise/version.rb +1 -1
- data/spec/controllers/spree/admin/user_sessions_controller_spec.rb +20 -0
- data/spec/controllers/spree/user_sessions_controller_spec.rb +8 -10
- data/spec/features/admin/sign_in_spec.rb +2 -2
- data/spec/features/admin/sign_out_spec.rb +20 -1
- data/spec/models/user_spec.rb +1 -1
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '098ee5c680f5383b31766bff2da29911149036a3972e740cc59731c6d05c5f56'
|
4
|
+
data.tar.gz: 7f6c81439ad91719dc0fe4cee7ba2995370f02d87e1f33d7169472241f50f2c7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6044f99dbef2b8c35bd664d4a9566a7f7dab506678bed597831f5b818c969647ef72bf00e89395875c64a45f2701ac14c3e7c42d583e292e19ea93595c790bc4
|
7
|
+
data.tar.gz: 4a44b87bc260b095892bdc0e4477885a7aff5e119c2fac2d3e72c3373db49370b5c05da4d9b824f4d5068df62cbfeaae8d5ff21d27be7550b78f275613785743
|
data/.circleci/config.yml
CHANGED
@@ -15,7 +15,7 @@ jobs:
|
|
15
15
|
parameters:
|
16
16
|
solidus:
|
17
17
|
type: string
|
18
|
-
default:
|
18
|
+
default: main
|
19
19
|
db:
|
20
20
|
type: string
|
21
21
|
default: "postgres"
|
@@ -43,7 +43,7 @@ workflows:
|
|
43
43
|
- run-specs:
|
44
44
|
name: &name "run-specs-solidus-<< matrix.solidus >>-ruby-<< matrix.ruby >>-db-<< matrix.db >>"
|
45
45
|
matrix:
|
46
|
-
parameters: { solidus: ["
|
46
|
+
parameters: { solidus: ["main"], ruby: ["3.2"], db: ["postgres"] }
|
47
47
|
- run-specs:
|
48
48
|
name: *name
|
49
49
|
matrix:
|
@@ -54,19 +54,19 @@ workflows:
|
|
54
54
|
parameters: { solidus: ["older"], ruby: ["3.0"], db: ["sqlite"] }
|
55
55
|
- lint-code
|
56
56
|
|
57
|
-
"Weekly run specs against
|
57
|
+
"Weekly run specs against main":
|
58
58
|
triggers:
|
59
59
|
- schedule:
|
60
60
|
cron: "0 0 * * 4" # every Thursday
|
61
61
|
filters:
|
62
62
|
branches:
|
63
63
|
only:
|
64
|
-
-
|
64
|
+
- main
|
65
65
|
jobs:
|
66
66
|
- run-specs:
|
67
67
|
name: *name
|
68
68
|
matrix:
|
69
|
-
parameters: { solidus: ["
|
69
|
+
parameters: { solidus: ["main"], ruby: ["3.2"], db: ["postgres"] }
|
70
70
|
- run-specs:
|
71
71
|
name: *name
|
72
72
|
matrix:
|
data/.rubocop_todo.yml
CHANGED
@@ -105,7 +105,7 @@ RSpec/BeforeAfterAll:
|
|
105
105
|
|
106
106
|
# Offense count: 5
|
107
107
|
# This cop supports safe autocorrection (--autocorrect).
|
108
|
-
|
108
|
+
Capybara/CurrentPathExpectation:
|
109
109
|
Exclude:
|
110
110
|
- 'spec/features/admin/sign_in_spec.rb'
|
111
111
|
- 'spec/features/sign_in_spec.rb'
|
@@ -221,7 +221,6 @@ RSpec/InstanceVariable:
|
|
221
221
|
- 'spec/controllers/spree/admin/user_passwords_controller_spec.rb'
|
222
222
|
- 'spec/controllers/spree/user_passwords_controller_spec.rb'
|
223
223
|
- 'spec/controllers/spree/user_registrations_controller_spec.rb'
|
224
|
-
- 'spec/controllers/spree/user_sessions_controller_spec.rb'
|
225
224
|
- 'spec/features/admin/sign_in_spec.rb'
|
226
225
|
- 'spec/features/checkout_spec.rb'
|
227
226
|
- 'spec/features/sign_in_spec.rb'
|
data/Gemfile
CHANGED
@@ -3,14 +3,14 @@
|
|
3
3
|
source 'https://rubygems.org'
|
4
4
|
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
|
5
5
|
|
6
|
-
branch = ENV.fetch('SOLIDUS_BRANCH', '
|
6
|
+
branch = ENV.fetch('SOLIDUS_BRANCH', 'main')
|
7
7
|
gem 'solidus', github: 'solidusio/solidus', branch: branch
|
8
8
|
gem 'solidus_backend', github: 'solidusio/solidus', branch: branch
|
9
9
|
|
10
10
|
# The solidus_frontend gem has been pulled out since v3.2
|
11
11
|
if branch >= 'v3.2'
|
12
12
|
gem 'solidus_frontend'
|
13
|
-
elsif branch == '
|
13
|
+
elsif branch == 'main'
|
14
14
|
gem 'solidus_frontend', github: 'solidusio/solidus_frontend'
|
15
15
|
else
|
16
16
|
gem 'solidus_frontend', github: 'solidusio/solidus', branch: branch
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# Solidus Auth Devise
|
2
2
|
|
3
3
|
[](https://circleci.com/gh/solidusio/solidus_auth_devise)
|
4
|
-
[](https://codecov.io/gh/solidusio/solidus_auth_devise)
|
5
5
|
|
6
6
|
Provides authentication services for Solidus, using the Devise gem.
|
7
7
|
|
data/bin/sandbox
CHANGED
@@ -32,8 +32,8 @@ if [ -n "$SOLIDUS_BRANCH" ]
|
|
32
32
|
then
|
33
33
|
BRANCH=$SOLIDUS_BRANCH
|
34
34
|
else
|
35
|
-
echo "~~> Use 'export SOLIDUS_BRANCH=[
|
36
|
-
BRANCH="
|
35
|
+
echo "~~> Use 'export SOLIDUS_BRANCH=[main|v3.2|...]' to control the Solidus branch"
|
36
|
+
BRANCH="main"
|
37
37
|
fi
|
38
38
|
echo "~~> Using branch $BRANCH of solidus"
|
39
39
|
|
@@ -4,7 +4,7 @@
|
|
4
4
|
Warden::Manager.after_set_user except: :fetch do |user, auth, _opts|
|
5
5
|
if auth.cookies.signed[:guest_token].present?
|
6
6
|
if user.is_a?(Spree::User)
|
7
|
-
Spree::Order.incomplete.where(guest_token: auth.cookies.signed[:guest_token], user_id: nil).
|
7
|
+
Spree::Order.incomplete.where(guest_token: auth.cookies.signed[:guest_token], user_id: nil).find_each do |order|
|
8
8
|
order.associate_user!(user)
|
9
9
|
end
|
10
10
|
end
|
@@ -35,6 +35,10 @@ class Spree::Admin::UserSessionsController < Devise::SessionsController
|
|
35
35
|
|
36
36
|
private
|
37
37
|
|
38
|
+
def signed_in_root_path(_resource)
|
39
|
+
spree.admin_path
|
40
|
+
end
|
41
|
+
|
38
42
|
# NOTE: as soon as this gem stops supporting Solidus 3.1 if-else should be removed and left only include
|
39
43
|
if defined?(::Spree::Admin::SetsUserLanguageLocaleKey)
|
40
44
|
include ::Spree::Admin::SetsUserLanguageLocaleKey
|
@@ -4,6 +4,8 @@ class Spree::UsersController < Spree::StoreController
|
|
4
4
|
skip_before_action :set_current_order, only: :show, raise: false
|
5
5
|
prepend_before_action :authorize_actions, only: :new
|
6
6
|
|
7
|
+
def new; end
|
8
|
+
|
7
9
|
def show
|
8
10
|
load_object
|
9
11
|
@orders = @user.orders.complete.order('completed_at desc')
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
RSpec.describe Spree::Admin::UserSessionsController, type: :controller do
|
4
|
+
let(:user) { create(:user, password: 'secret') }
|
5
|
+
|
6
|
+
before { @request.env['devise.mapping'] = Devise.mappings[:spree_user] } # rubocop:disable RSpec/InstanceVariable
|
7
|
+
|
8
|
+
it "redirects to the admin root after signing in with no stored location" do
|
9
|
+
get :new
|
10
|
+
|
11
|
+
post(:create, params: {
|
12
|
+
spree_user: {
|
13
|
+
email: user.email,
|
14
|
+
password: 'secret'
|
15
|
+
},
|
16
|
+
})
|
17
|
+
|
18
|
+
expect(response).to redirect_to spree.admin_path
|
19
|
+
end
|
20
|
+
end
|
@@ -3,22 +3,20 @@
|
|
3
3
|
RSpec.describe Spree::UserSessionsController, type: :controller do
|
4
4
|
let(:user) { create(:user) }
|
5
5
|
|
6
|
-
before { @request.env['devise.mapping'] = Devise.mappings[:spree_user] }
|
6
|
+
before { @request.env['devise.mapping'] = Devise.mappings[:spree_user] } # rubocop:disable RSpec/InstanceVariable
|
7
7
|
|
8
8
|
context "#create" do
|
9
9
|
let(:format) { :html }
|
10
10
|
let(:password) { 'secret' }
|
11
11
|
|
12
12
|
subject do
|
13
|
-
post(:create,
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
}
|
21
|
-
)
|
13
|
+
post(:create, params: {
|
14
|
+
spree_user: {
|
15
|
+
email: user.email,
|
16
|
+
password: password
|
17
|
+
},
|
18
|
+
format: format
|
19
|
+
})
|
22
20
|
end
|
23
21
|
|
24
22
|
context "when using correct login information" do
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
RSpec.feature 'Admin - Sign In', type: :feature do
|
4
4
|
background do
|
5
|
-
@user = create(:
|
5
|
+
@user = create(:admin_user, email: '[email protected]')
|
6
6
|
visit spree.admin_login_path
|
7
7
|
end
|
8
8
|
|
@@ -19,7 +19,7 @@ RSpec.feature 'Admin - Sign In', type: :feature do
|
|
19
19
|
expect(page).to have_text 'Logged in successfully'
|
20
20
|
expect(page).not_to have_text 'Login'
|
21
21
|
expect(page).to have_text 'Logout'
|
22
|
-
expect(current_path).to eq '/'
|
22
|
+
expect(current_path).to eq '/admin/orders'
|
23
23
|
end
|
24
24
|
|
25
25
|
scenario 'shows validation erros' do
|
@@ -15,9 +15,28 @@ RSpec.feature 'Admin - Sign Out', type: :feature, js: true do
|
|
15
15
|
end
|
16
16
|
|
17
17
|
scenario 'allows a signed in user to logout' do
|
18
|
-
|
18
|
+
click_logout_link
|
19
19
|
visit spree.admin_login_path
|
20
20
|
expect(page).to have_text 'Login'
|
21
21
|
expect(page).not_to have_text 'Logout'
|
22
22
|
end
|
23
|
+
|
24
|
+
def click_logout_link
|
25
|
+
new_version? ? logout_new_version : logout_old_version
|
26
|
+
end
|
27
|
+
|
28
|
+
def new_version?
|
29
|
+
Gem::Requirement.new('>= 4.2').satisfied_by?(Spree.solidus_gem_version)
|
30
|
+
end
|
31
|
+
|
32
|
+
def logout_new_version
|
33
|
+
find('details div', text: user.email, wait: 10).click
|
34
|
+
within('details') do
|
35
|
+
click_link 'Logout'
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def logout_old_version
|
40
|
+
click_link 'Logout'
|
41
|
+
end
|
23
42
|
end
|
data/spec/models/user_spec.rb
CHANGED
@@ -53,7 +53,7 @@ RSpec.describe Spree::User, type: :model do
|
|
53
53
|
let(:user) { create(:user) }
|
54
54
|
|
55
55
|
context 'with same email address as previously deleted account' do
|
56
|
-
it '
|
56
|
+
it 'allows users to register later' do
|
57
57
|
user1 = build(:user)
|
58
58
|
user1.save
|
59
59
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solidus_auth_devise
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.5.
|
4
|
+
version: 2.5.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Solidus Team
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-01-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: deface
|
@@ -243,6 +243,7 @@ files:
|
|
243
243
|
- solidus_auth_devise.gemspec
|
244
244
|
- spec/controllers/spree/admin/base_controller_spec.rb
|
245
245
|
- spec/controllers/spree/admin/user_passwords_controller_spec.rb
|
246
|
+
- spec/controllers/spree/admin/user_sessions_controller_spec.rb
|
246
247
|
- spec/controllers/spree/base_controller_spec.rb
|
247
248
|
- spec/controllers/spree/checkout_controller_spec.rb
|
248
249
|
- spec/controllers/spree/products_controller_spec.rb
|
@@ -302,7 +303,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
302
303
|
- !ruby/object:Gem::Version
|
303
304
|
version: '0'
|
304
305
|
requirements: []
|
305
|
-
rubygems_version: 3.
|
306
|
+
rubygems_version: 3.4.10
|
306
307
|
signing_key:
|
307
308
|
specification_version: 4
|
308
309
|
summary: Provides authentication and authorization services for use with Solidus by
|
@@ -310,6 +311,7 @@ summary: Provides authentication and authorization services for use with Solidus
|
|
310
311
|
test_files:
|
311
312
|
- spec/controllers/spree/admin/base_controller_spec.rb
|
312
313
|
- spec/controllers/spree/admin/user_passwords_controller_spec.rb
|
314
|
+
- spec/controllers/spree/admin/user_sessions_controller_spec.rb
|
313
315
|
- spec/controllers/spree/base_controller_spec.rb
|
314
316
|
- spec/controllers/spree/checkout_controller_spec.rb
|
315
317
|
- spec/controllers/spree/products_controller_spec.rb
|