solidus_auth_devise 2.2.0 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


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

Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +326 -0
  3. data/CHANGELOG.md +250 -163
  4. data/Gemfile +4 -5
  5. data/README.md +22 -5
  6. data/Rakefile +2 -0
  7. data/app/mailers/spree/user_mailer.rb +4 -2
  8. data/app/models/spree/auth_configuration.rb +2 -0
  9. data/app/models/spree/user.rb +19 -19
  10. data/config/initializers/devise.rb +11 -3
  11. data/config/initializers/warden.rb +4 -2
  12. data/config/locales/en.yml +3 -1
  13. data/config/routes.rb +5 -11
  14. data/db/default/users.rb +10 -8
  15. data/db/migrate/20101026184949_create_users.rb +9 -7
  16. data/db/migrate/20101026184950_rename_columns_for_devise.rb +3 -0
  17. data/db/migrate/20101214150824_convert_user_remember_field.rb +2 -0
  18. data/db/migrate/20120203010234_add_reset_password_sent_at_to_spree_users.rb +2 -0
  19. data/db/migrate/20120605211305_make_users_email_index_unique.rb +4 -2
  20. data/db/migrate/20140904000425_add_deleted_at_to_users.rb +2 -0
  21. data/db/migrate/20141002154641_add_confirmable_to_users.rb +2 -0
  22. data/db/migrate/20190125170630_add_reset_password_token_index_to_spree_users.rb +4 -2
  23. data/db/seeds.rb +2 -0
  24. data/lib/controllers/backend/spree/admin/base_controller_decorator.rb +20 -0
  25. data/lib/controllers/backend/spree/admin/orders/customer_details_controller_decorator.rb +11 -8
  26. data/lib/controllers/backend/spree/admin/user_passwords_controller.rb +4 -2
  27. data/lib/controllers/backend/spree/admin/user_sessions_controller.rb +11 -8
  28. data/lib/controllers/frontend/spree/checkout_controller_decorator.rb +29 -19
  29. data/lib/controllers/frontend/spree/user_confirmations_controller.rb +2 -0
  30. data/lib/controllers/frontend/spree/user_passwords_controller.rb +4 -1
  31. data/lib/controllers/frontend/spree/user_registrations_controller.rb +4 -0
  32. data/lib/controllers/frontend/spree/user_sessions_controller.rb +2 -0
  33. data/lib/controllers/frontend/spree/users_controller.rb +17 -14
  34. data/lib/generators/solidus/auth/install/install_generator.rb +4 -2
  35. data/lib/generators/solidus/auth/install/templates/config/initializers/devise.rb +2 -0
  36. data/lib/solidus/auth.rb +2 -0
  37. data/lib/solidus_auth_devise.rb +2 -0
  38. data/lib/spree/auth/devise.rb +3 -1
  39. data/lib/spree/auth/engine.rb +3 -1
  40. data/lib/spree/auth/version.rb +1 -1
  41. data/lib/spree/authentication_helpers.rb +5 -11
  42. data/lib/tasks/auth.rake +3 -1
  43. data/lib/views/backend/spree/admin/shared/_navigation_footer.html.erb +1 -1
  44. data/lib/views/backend/spree/admin/user_passwords/new.html.erb +1 -3
  45. data/lib/views/backend/spree/admin/user_sessions/new.html.erb +1 -1
  46. data/lib/views/frontend/spree/shared/_login_bar_items.html.erb +1 -1
  47. data/lib/views/frontend/spree/user_passwords/new.html.erb +1 -3
  48. data/solidus_auth_devise.gemspec +16 -6
  49. data/spec/controllers/spree/admin/user_passwords_controller_spec.rb +2 -0
  50. data/spec/controllers/spree/checkout_controller_spec.rb +5 -9
  51. data/spec/controllers/spree/products_controller_spec.rb +2 -1
  52. data/spec/controllers/spree/user_passwords_controller_spec.rb +4 -3
  53. data/spec/controllers/spree/user_registrations_controller_spec.rb +3 -2
  54. data/spec/controllers/spree/user_sessions_controller_spec.rb +14 -0
  55. data/spec/controllers/spree/users_controller_spec.rb +2 -2
  56. data/spec/factories/confirmed_user.rb +5 -3
  57. data/spec/features/account_spec.rb +4 -3
  58. data/spec/features/admin/orders_spec.rb +2 -1
  59. data/spec/features/admin/password_reset_spec.rb +23 -10
  60. data/spec/features/admin/products_spec.rb +2 -1
  61. data/spec/features/admin/sign_in_spec.rb +2 -1
  62. data/spec/features/admin/sign_out_spec.rb +2 -1
  63. data/spec/features/admin_permissions_spec.rb +2 -1
  64. data/spec/features/change_email_spec.rb +3 -2
  65. data/spec/features/checkout_spec.rb +15 -13
  66. data/spec/features/confirmation_spec.rb +2 -0
  67. data/spec/features/order_spec.rb +2 -1
  68. data/spec/features/password_reset_spec.rb +23 -10
  69. data/spec/features/sign_in_spec.rb +2 -1
  70. data/spec/features/sign_out_spec.rb +4 -3
  71. data/spec/features/sign_up_spec.rb +2 -1
  72. data/spec/mailers/user_mailer_spec.rb +2 -1
  73. data/spec/models/order_spec.rb +2 -1
  74. data/spec/models/user_spec.rb +2 -1
  75. data/spec/spec_helper.rb +3 -1
  76. data/spec/support/ability.rb +3 -1
  77. data/spec/support/authentication_helpers.rb +2 -0
  78. data/spec/support/confirm_helpers.rb +4 -2
  79. data/spec/support/email.rb +2 -0
  80. data/spec/support/preferences.rb +10 -2
  81. data/spec/support/spree.rb +2 -0
  82. metadata +94 -35
  83. data/.travis.yml +0 -18
  84. data/lib/controllers/backend/spree/admin/admin_controller_decorator.rb +0 -11
@@ -1,5 +1,6 @@
1
- RSpec.feature 'Sign Out', type: :feature do
1
+ # frozen_string_literal: true
2
2
 
3
+ RSpec.feature 'Sign Out', type: :feature, js: true do
3
4
  given!(:user) do
4
5
  create(:user,
5
6
  email: 'email@person.com',
@@ -19,7 +20,7 @@ RSpec.feature 'Sign Out', type: :feature do
19
20
  scenario 'allow a signed in user to logout' do
20
21
  click_link 'Logout'
21
22
  visit spree.root_path
22
- expect(page).to have_text 'Login'
23
- expect(page).not_to have_text 'Logout'
23
+ expect(page).to have_text 'LOGIN'
24
+ expect(page).not_to have_text 'LOGOUT'
24
25
  end
25
26
  end
@@ -1,5 +1,6 @@
1
- RSpec.feature 'Sign Up', type: :feature do
1
+ # frozen_string_literal: true
2
2
 
3
+ RSpec.feature 'Sign Up', type: :feature do
3
4
  context 'with valid data' do
4
5
  scenario 'create a new user' do
5
6
  visit spree.signup_path
@@ -1,5 +1,6 @@
1
- RSpec.describe Spree::UserMailer, type: :mailer do
1
+ # frozen_string_literal: true
2
2
 
3
+ RSpec.describe Spree::UserMailer, type: :mailer do
3
4
  let!(:store) { create(:store) }
4
5
  let(:user) { create(:user) }
5
6
 
@@ -1,5 +1,6 @@
1
- RSpec.describe Spree::Order, type: :model do
1
+ # frozen_string_literal: true
2
2
 
3
+ RSpec.describe Spree::Order, type: :model do
3
4
  let(:order) { described_class.new }
4
5
 
5
6
  context '#associate_user!' do
@@ -1,5 +1,6 @@
1
- RSpec.describe Spree::User, type: :model do
1
+ # frozen_string_literal: true
2
2
 
3
+ RSpec.describe Spree::User, type: :model do
3
4
  before(:all) { Spree::Role.create name: 'admin' }
4
5
 
5
6
  it '#admin?' do
data/spec/spec_helper.rb CHANGED
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "simplecov"
2
4
  SimpleCov.start "rails"
3
5
 
4
6
  ENV["RAILS_ENV"] ||= "test"
5
7
 
6
- require File.expand_path("../dummy/config/environment.rb", __FILE__)
8
+ require File.expand_path('dummy/config/environment.rb', __dir__)
7
9
 
8
10
  require "solidus_support/extension/feature_helper"
9
11
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  RSpec.configure do |config|
2
4
  config.after do
3
5
  Spree::Ability.abilities.delete(AbilityDecorator) if Spree::Ability.abilities.include?(AbilityDecorator)
@@ -8,7 +10,7 @@ if defined? CanCan::Ability
8
10
  class AbilityDecorator
9
11
  include CanCan::Ability
10
12
 
11
- def initialize(user)
13
+ def initialize(_user)
12
14
  cannot :manage, Spree::Order
13
15
  end
14
16
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module AuthenticationHelpers
2
4
  def sign_in_as!(user)
3
5
  visit '/login'
@@ -1,11 +1,13 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ConfirmHelpers
2
4
  def set_confirmable_option(value)
3
5
  if value
4
6
  Spree::User.devise_modules.push(:confirmable)
5
- Spree::Auth::Config.set(confirmable: true)
7
+ stub_spree_preferences(Spree::Auth::Config, confirmable: true)
6
8
  else
7
9
  Spree::User.devise_modules.delete(:confirmable)
8
- Spree::Auth::Config.set(confirmable: false)
10
+ stub_spree_preferences(Spree::Auth::Config, confirmable: false)
9
11
  end
10
12
  end
11
13
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  RSpec.configure do |config|
2
4
  config.before do
3
5
  ActionMailer::Base.deliveries.clear
@@ -1,5 +1,13 @@
1
+ # frozen_string_literal: true
2
+
1
3
  RSpec.configure do |config|
2
- config.before do
3
- Spree::Auth::Config.preference_store = Spree::Auth::Config.default_preferences
4
+ if SolidusSupport.reset_spree_preferences_deprecated?
5
+ config.before :suite do
6
+ Spree::TestingSupport::Preferences.freeze_preferences(Spree::Auth::Config)
7
+ end
8
+ else
9
+ config.before do
10
+ Spree::Auth::Config.preference_store = Spree::Auth::Config.default_preferences
11
+ end
4
12
  end
5
13
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spree/testing_support/factories'
2
4
  require 'spree/testing_support/url_helpers'
3
5
  require 'spree/testing_support/controller_requests'
metadata CHANGED
@@ -1,77 +1,77 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solidus_auth_devise
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Solidus Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-06-13 00:00:00.000000000 Z
11
+ date: 2019-08-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: solidus_core
14
+ name: devise
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 1.2.0
20
- - - "<"
17
+ - - "~>"
21
18
  - !ruby/object:Gem::Version
22
- version: '3'
19
+ version: '4.1'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: 1.2.0
30
- - - "<"
24
+ - - "~>"
31
25
  - !ruby/object:Gem::Version
32
- version: '3'
26
+ version: '4.1'
33
27
  - !ruby/object:Gem::Dependency
34
- name: solidus_support
28
+ name: devise-encryptable
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
- - - ">="
31
+ - - '='
38
32
  - !ruby/object:Gem::Version
39
- version: 0.1.3
33
+ version: 0.2.0
40
34
  type: :runtime
41
35
  prerelease: false
42
36
  version_requirements: !ruby/object:Gem::Requirement
43
37
  requirements:
44
- - - ">="
38
+ - - '='
45
39
  - !ruby/object:Gem::Version
46
- version: 0.1.3
40
+ version: 0.2.0
47
41
  - !ruby/object:Gem::Dependency
48
- name: devise
42
+ name: solidus_core
49
43
  requirement: !ruby/object:Gem::Requirement
50
44
  requirements:
51
- - - "~>"
45
+ - - ">="
52
46
  - !ruby/object:Gem::Version
53
- version: '4.1'
47
+ version: 1.2.0
48
+ - - "<"
49
+ - !ruby/object:Gem::Version
50
+ version: '3'
54
51
  type: :runtime
55
52
  prerelease: false
56
53
  version_requirements: !ruby/object:Gem::Requirement
57
54
  requirements:
58
- - - "~>"
55
+ - - ">="
59
56
  - !ruby/object:Gem::Version
60
- version: '4.1'
57
+ version: 1.2.0
58
+ - - "<"
59
+ - !ruby/object:Gem::Version
60
+ version: '3'
61
61
  - !ruby/object:Gem::Dependency
62
- name: devise-encryptable
62
+ name: solidus_support
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - '='
65
+ - - ">="
66
66
  - !ruby/object:Gem::Version
67
- version: 0.2.0
67
+ version: 0.1.3
68
68
  type: :runtime
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
- - - '='
72
+ - - ">="
73
73
  - !ruby/object:Gem::Version
74
- version: 0.2.0
74
+ version: 0.1.3
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: capybara
77
77
  requirement: !ruby/object:Gem::Requirement
@@ -157,19 +157,19 @@ dependencies:
157
157
  - !ruby/object:Gem::Version
158
158
  version: '2.0'
159
159
  - !ruby/object:Gem::Dependency
160
- name: poltergeist
160
+ name: github_changelog_generator
161
161
  requirement: !ruby/object:Gem::Requirement
162
162
  requirements:
163
163
  - - "~>"
164
164
  - !ruby/object:Gem::Version
165
- version: '1.5'
165
+ version: '1.14'
166
166
  type: :development
167
167
  prerelease: false
168
168
  version_requirements: !ruby/object:Gem::Requirement
169
169
  requirements:
170
170
  - - "~>"
171
171
  - !ruby/object:Gem::Version
172
- version: '1.5'
172
+ version: '1.14'
173
173
  - !ruby/object:Gem::Dependency
174
174
  name: rspec-rails
175
175
  requirement: !ruby/object:Gem::Requirement
@@ -184,6 +184,48 @@ dependencies:
184
184
  - - "~>"
185
185
  - !ruby/object:Gem::Version
186
186
  version: '3.3'
187
+ - !ruby/object:Gem::Dependency
188
+ name: rubocop
189
+ requirement: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - "~>"
192
+ - !ruby/object:Gem::Version
193
+ version: '0.71'
194
+ type: :development
195
+ prerelease: false
196
+ version_requirements: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - "~>"
199
+ - !ruby/object:Gem::Version
200
+ version: '0.71'
201
+ - !ruby/object:Gem::Dependency
202
+ name: rubocop-performance
203
+ requirement: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - "~>"
206
+ - !ruby/object:Gem::Version
207
+ version: '1.4'
208
+ type: :development
209
+ prerelease: false
210
+ version_requirements: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - "~>"
213
+ - !ruby/object:Gem::Version
214
+ version: '1.4'
215
+ - !ruby/object:Gem::Dependency
216
+ name: rubocop-rails
217
+ requirement: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - "~>"
220
+ - !ruby/object:Gem::Version
221
+ version: '2.2'
222
+ type: :development
223
+ prerelease: false
224
+ version_requirements: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - "~>"
227
+ - !ruby/object:Gem::Version
228
+ version: '2.2'
187
229
  - !ruby/object:Gem::Dependency
188
230
  name: sass-rails
189
231
  requirement: !ruby/object:Gem::Requirement
@@ -198,6 +240,20 @@ dependencies:
198
240
  - - ">="
199
241
  - !ruby/object:Gem::Version
200
242
  version: '0'
243
+ - !ruby/object:Gem::Dependency
244
+ name: selenium-webdriver
245
+ requirement: !ruby/object:Gem::Requirement
246
+ requirements:
247
+ - - "~>"
248
+ - !ruby/object:Gem::Version
249
+ version: '3.142'
250
+ type: :development
251
+ prerelease: false
252
+ version_requirements: !ruby/object:Gem::Requirement
253
+ requirements:
254
+ - - "~>"
255
+ - !ruby/object:Gem::Version
256
+ version: '3.142'
201
257
  - !ruby/object:Gem::Dependency
202
258
  name: shoulda-matchers
203
259
  requirement: !ruby/object:Gem::Requirement
@@ -291,7 +347,7 @@ files:
291
347
  - ".gem_release.yml"
292
348
  - ".gitignore"
293
349
  - ".rspec"
294
- - ".travis.yml"
350
+ - ".rubocop.yml"
295
351
  - CHANGELOG.md
296
352
  - Gemfile
297
353
  - LICENSE.md
@@ -329,7 +385,7 @@ files:
329
385
  - lib/assets/javascripts/spree/frontend/solidus_auth.js
330
386
  - lib/assets/stylesheets/spree/backend/solidus_auth.css
331
387
  - lib/assets/stylesheets/spree/frontend/solidus_auth.css
332
- - lib/controllers/backend/spree/admin/admin_controller_decorator.rb
388
+ - lib/controllers/backend/spree/admin/base_controller_decorator.rb
333
389
  - lib/controllers/backend/spree/admin/orders/customer_details_controller_decorator.rb
334
390
  - lib/controllers/backend/spree/admin/user_passwords_controller.rb
335
391
  - lib/controllers/backend/spree/admin/user_sessions_controller.rb
@@ -407,7 +463,10 @@ homepage:
407
463
  licenses:
408
464
  - BSD-3
409
465
  metadata: {}
410
- post_install_message:
466
+ post_install_message: |-
467
+ NOTE: Rails 6 has removed secret_token in favor of secret_key_base, which was deprecated in
468
+ Rails 5.2. solidus_auth_devise will keep using secret_token, when present, as the pepper. If
469
+ secret_token is undefined or not available, secret_key_base will be used instead.
411
470
  rdoc_options: []
412
471
  require_paths:
413
472
  - lib
@@ -415,7 +474,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
415
474
  requirements:
416
475
  - - ">="
417
476
  - !ruby/object:Gem::Version
418
- version: '2.1'
477
+ version: '2.3'
419
478
  required_rubygems_version: !ruby/object:Gem::Requirement
420
479
  requirements:
421
480
  - - ">="
data/.travis.yml DELETED
@@ -1,18 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.3.1
5
- env:
6
- matrix:
7
- - SOLIDUS_BRANCH=v2.4 DB=postgres
8
- - SOLIDUS_BRANCH=v2.5 DB=postgres
9
- - SOLIDUS_BRANCH=v2.6 DB=postgres
10
- - SOLIDUS_BRANCH=v2.7 DB=postgres
11
- - SOLIDUS_BRANCH=v2.8 DB=postgres
12
- - SOLIDUS_BRANCH=master DB=postgres
13
- - SOLIDUS_BRANCH=v2.4 DB=mysql
14
- - SOLIDUS_BRANCH=v2.5 DB=mysql
15
- - SOLIDUS_BRANCH=v2.6 DB=mysql
16
- - SOLIDUS_BRANCH=v2.7 DB=mysql
17
- - SOLIDUS_BRANCH=v2.8 DB=mysql
18
- - SOLIDUS_BRANCH=master DB=mysql
@@ -1,11 +0,0 @@
1
- Spree::Admin::BaseController.class_eval do
2
- protected
3
-
4
- def model_class
5
- const_name = controller_name.classify
6
- if Spree.const_defined?(const_name, false)
7
- return "Spree::#{const_name}".constantize
8
- end
9
- nil
10
- end
11
- end