solidus_auth_devise 2.5.8 → 2.5.9
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
[![CircleCI](https://circleci.com/gh/solidusio/solidus_auth_devise.svg?style=shield)](https://circleci.com/gh/solidusio/solidus_auth_devise)
|
4
|
-
[![codecov](https://codecov.io/gh/solidusio/solidus_auth_devise/branch/
|
4
|
+
[![codecov](https://codecov.io/gh/solidusio/solidus_auth_devise/branch/main/graph/badge.svg)](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@person.com')
|
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
|