solidus_auth_devise 1.0.0 → 1.1.0
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 solidus_auth_devise might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/README.md +5 -9
- data/circle.yml +6 -0
- data/lib/controllers/backend/spree/admin/user_passwords_controller.rb +0 -3
- data/lib/controllers/backend/spree/admin/user_sessions_controller.rb +0 -3
- data/lib/controllers/frontend/spree/user_confirmations_controller.rb +0 -3
- data/lib/controllers/frontend/spree/user_passwords_controller.rb +4 -3
- data/lib/controllers/frontend/spree/user_registrations_controller.rb +13 -40
- data/lib/controllers/frontend/spree/user_sessions_controller.rb +33 -23
- data/lib/controllers/frontend/spree/users_controller.rb +0 -1
- data/lib/spree/auth/engine.rb +0 -3
- data/lib/views/frontend/spree/user_registrations/new.html.erb +2 -2
- data/solidus_auth_devise.gemspec +2 -2
- data/spec/controllers/spree/user_registrations_controller_spec.rb +59 -4
- data/spec/controllers/spree/user_sessions_controller_spec.rb +31 -14
- data/spec/features/checkout_spec.rb +4 -6
- data/spec/models/user_spec.rb +1 -1
- metadata +5 -5
- data/app/controllers/metal_decorator.rb +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fb97d2596201f6b868061b6064d27ab4ea0df410
|
4
|
+
data.tar.gz: b05459072856d24460abed0bd7adc90a2d258113
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 636e4dd8e7aed3bd4309a8075c5b6831bdcf5063a406290ed8b46079cc31fd5305989b94d5ac5805264bc4147ca09786012cba274a102e45a36c19ad19bd3930
|
7
|
+
data.tar.gz: d109430fe560ecae80f6172192a0b8181cbcaa5f51770f56f67a6f81f6f024be0a2cf2e1d8d001d970d090a92f09779d79e486cadab4a9ebda6cc7fa9cbea9f5
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -35,14 +35,14 @@ Devise.setup do |config|
|
|
35
35
|
end
|
36
36
|
```
|
37
37
|
|
38
|
-
Using in an existing
|
39
|
-
|
38
|
+
Using in an existing application
|
39
|
+
--------------------------------
|
40
40
|
|
41
|
-
If you are installing Solidus inside of a host application in which you want your own permission setup, you can do this using
|
41
|
+
If you are installing Solidus inside of a host application in which you want your own permission setup, you can do this using the `register_ability` method.
|
42
42
|
|
43
43
|
First create your own CanCan Ability class following the CanCan documentation.
|
44
44
|
|
45
|
-
For example: app/models/super_abilities.rb
|
45
|
+
For example: `app/models/super_abilities.rb`
|
46
46
|
|
47
47
|
```ruby
|
48
48
|
class SuperAbilities
|
@@ -63,15 +63,11 @@ Spree::Ability.register_ability(SuperAbilities)
|
|
63
63
|
|
64
64
|
Inside of your host application you can then use CanCan like you normally would.
|
65
65
|
```erb
|
66
|
-
<% if can? :
|
66
|
+
<% if can? :stop Bullet %>
|
67
67
|
...
|
68
68
|
<% end %>
|
69
69
|
```
|
70
70
|
|
71
|
-
### Adding Permissions to Gems
|
72
|
-
|
73
|
-
This methodology can also be used by gems that extend spree and want/need to add permissions.
|
74
|
-
|
75
71
|
Testing
|
76
72
|
-------
|
77
73
|
|
data/circle.yml
ADDED
@@ -3,15 +3,12 @@ class Spree::Admin::UserPasswordsController < Devise::PasswordsController
|
|
3
3
|
|
4
4
|
include Spree::Core::ControllerHelpers::Auth
|
5
5
|
include Spree::Core::ControllerHelpers::Common
|
6
|
-
include Spree::Core::ControllerHelpers::SSL
|
7
6
|
include Spree::Core::ControllerHelpers::Store
|
8
7
|
|
9
8
|
helper 'spree/admin/navigation'
|
10
9
|
helper 'spree/admin/tables'
|
11
10
|
layout 'spree/layouts/admin'
|
12
11
|
|
13
|
-
ssl_required
|
14
|
-
|
15
12
|
# Overridden due to bug in Devise.
|
16
13
|
# respond_with resource, :location => new_session_path(resource_name)
|
17
14
|
# is generating bad url /session/new.user
|
@@ -3,15 +3,12 @@ class Spree::Admin::UserSessionsController < Devise::SessionsController
|
|
3
3
|
|
4
4
|
include Spree::Core::ControllerHelpers::Auth
|
5
5
|
include Spree::Core::ControllerHelpers::Common
|
6
|
-
include Spree::Core::ControllerHelpers::SSL
|
7
6
|
include Spree::Core::ControllerHelpers::Store
|
8
7
|
|
9
8
|
helper 'spree/admin/navigation'
|
10
9
|
helper 'spree/admin/tables'
|
11
10
|
layout 'spree/layouts/admin'
|
12
11
|
|
13
|
-
ssl_required :new, :create, :destroy, :update
|
14
|
-
|
15
12
|
def create
|
16
13
|
authenticate_spree_user!
|
17
14
|
|
@@ -8,11 +8,8 @@ class Spree::UserConfirmationsController < Devise::ConfirmationsController
|
|
8
8
|
include Spree::Core::ControllerHelpers::Auth
|
9
9
|
include Spree::Core::ControllerHelpers::Common
|
10
10
|
include Spree::Core::ControllerHelpers::Order
|
11
|
-
include Spree::Core::ControllerHelpers::SSL
|
12
11
|
include Spree::Core::ControllerHelpers::Store
|
13
12
|
|
14
|
-
ssl_required
|
15
|
-
|
16
13
|
protected
|
17
14
|
|
18
15
|
def after_confirmation_path_for(resource_name, resource)
|
@@ -8,11 +8,8 @@ class Spree::UserPasswordsController < Devise::PasswordsController
|
|
8
8
|
include Spree::Core::ControllerHelpers::Auth
|
9
9
|
include Spree::Core::ControllerHelpers::Common
|
10
10
|
include Spree::Core::ControllerHelpers::Order
|
11
|
-
include Spree::Core::ControllerHelpers::SSL
|
12
11
|
include Spree::Core::ControllerHelpers::Store
|
13
12
|
|
14
|
-
ssl_required
|
15
|
-
|
16
13
|
# Overridden due to bug in Devise.
|
17
14
|
# respond_with resource, :location => new_session_path(resource_name)
|
18
15
|
# is generating bad url /session/new.user
|
@@ -47,6 +44,10 @@ class Spree::UserPasswordsController < Devise::PasswordsController
|
|
47
44
|
|
48
45
|
protected
|
49
46
|
|
47
|
+
def translation_scope
|
48
|
+
'devise.user_passwords'
|
49
|
+
end
|
50
|
+
|
50
51
|
def new_session_path(resource_name)
|
51
52
|
spree.send("new_#{resource_name}_session_path")
|
52
53
|
end
|
@@ -8,65 +8,38 @@ class Spree::UserRegistrationsController < Devise::RegistrationsController
|
|
8
8
|
include Spree::Core::ControllerHelpers::Auth
|
9
9
|
include Spree::Core::ControllerHelpers::Common
|
10
10
|
include Spree::Core::ControllerHelpers::Order
|
11
|
-
include Spree::Core::ControllerHelpers::SSL
|
12
11
|
include Spree::Core::ControllerHelpers::Store
|
13
12
|
|
14
|
-
ssl_required
|
15
13
|
before_filter :check_permissions, :only => [:edit, :update]
|
16
14
|
skip_before_filter :require_no_authentication
|
17
15
|
|
18
|
-
# GET /resource/sign_up
|
19
|
-
def new
|
20
|
-
super
|
21
|
-
@user = resource
|
22
|
-
end
|
23
|
-
|
24
|
-
# POST /resource/sign_up
|
25
16
|
def create
|
26
|
-
|
17
|
+
build_resource(spree_user_params)
|
27
18
|
if resource.save
|
28
19
|
set_flash_message(:notice, :signed_up)
|
29
|
-
sign_in(:spree_user,
|
20
|
+
sign_in(:spree_user, resource)
|
30
21
|
session[:spree_user_signup] = true
|
31
22
|
associate_user
|
32
23
|
respond_with resource, location: after_sign_up_path_for(resource)
|
33
24
|
else
|
34
25
|
clean_up_passwords(resource)
|
35
|
-
|
26
|
+
respond_with(resource) do |format|
|
27
|
+
format.html { render :new }
|
28
|
+
end
|
36
29
|
end
|
37
30
|
end
|
38
31
|
|
39
|
-
|
40
|
-
def
|
41
|
-
|
42
|
-
end
|
43
|
-
|
44
|
-
# PUT /resource
|
45
|
-
def update
|
46
|
-
super
|
47
|
-
end
|
48
|
-
|
49
|
-
# DELETE /resource
|
50
|
-
def destroy
|
51
|
-
super
|
32
|
+
protected
|
33
|
+
def translation_scope
|
34
|
+
'devise.user_registrations'
|
52
35
|
end
|
53
36
|
|
54
|
-
|
55
|
-
|
56
|
-
# in to be expired now. This is useful if the user wants to
|
57
|
-
# cancel oauth signing in/up in the middle of the process,
|
58
|
-
# removing all OAuth session data.
|
59
|
-
def cancel
|
60
|
-
super
|
37
|
+
def check_permissions
|
38
|
+
authorize!(:create, resource)
|
61
39
|
end
|
62
40
|
|
63
|
-
protected
|
64
|
-
def check_permissions
|
65
|
-
authorize!(:create, resource)
|
66
|
-
end
|
67
|
-
|
68
41
|
private
|
69
|
-
|
70
|
-
|
71
|
-
|
42
|
+
def spree_user_params
|
43
|
+
params.require(:spree_user).permit(Spree::PermittedAttributes.user_attributes)
|
44
|
+
end
|
72
45
|
end
|
@@ -7,47 +7,57 @@ class Spree::UserSessionsController < Devise::SessionsController
|
|
7
7
|
include Spree::Core::ControllerHelpers::Auth
|
8
8
|
include Spree::Core::ControllerHelpers::Common
|
9
9
|
include Spree::Core::ControllerHelpers::Order
|
10
|
-
include Spree::Core::ControllerHelpers::SSL
|
11
10
|
include Spree::Core::ControllerHelpers::Store
|
12
11
|
|
13
|
-
ssl_required :new, :create, :destroy, :update
|
14
|
-
ssl_allowed :login_bar
|
15
|
-
|
16
12
|
def create
|
17
13
|
authenticate_spree_user!
|
18
14
|
|
19
15
|
if spree_user_signed_in?
|
20
16
|
respond_to do |format|
|
21
|
-
format.html
|
17
|
+
format.html do
|
22
18
|
flash[:success] = Spree.t(:logged_in_succesfully)
|
23
19
|
redirect_back_or_default(after_sign_in_path_for(spree_current_user))
|
24
|
-
|
25
|
-
format.js {
|
26
|
-
render :json => {:user => spree_current_user,
|
27
|
-
:ship_address => spree_current_user.ship_address,
|
28
|
-
:bill_address => spree_current_user.bill_address}.to_json
|
29
|
-
}
|
20
|
+
end
|
21
|
+
format.js { render success_json }
|
30
22
|
end
|
31
23
|
else
|
32
24
|
respond_to do |format|
|
33
|
-
format.html
|
25
|
+
format.html do
|
34
26
|
flash.now[:error] = t('devise.failure.invalid')
|
35
27
|
render :new
|
36
|
-
|
37
|
-
format.js
|
38
|
-
render :
|
39
|
-
|
28
|
+
end
|
29
|
+
format.js do
|
30
|
+
render json: { error: t('devise.failure.invalid') },
|
31
|
+
status: :unprocessable_entity
|
32
|
+
end
|
40
33
|
end
|
41
34
|
end
|
42
35
|
end
|
43
36
|
|
37
|
+
protected
|
38
|
+
|
39
|
+
def translation_scope
|
40
|
+
'devise.user_sessions'
|
41
|
+
end
|
42
|
+
|
44
43
|
private
|
45
|
-
def accurate_title
|
46
|
-
Spree.t(:login)
|
47
|
-
end
|
48
44
|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
45
|
+
def accurate_title
|
46
|
+
Spree.t(:login)
|
47
|
+
end
|
48
|
+
|
49
|
+
def redirect_back_or_default(default)
|
50
|
+
redirect_to(session["spree_user_return_to"] || default)
|
51
|
+
session["spree_user_return_to"] = nil
|
52
|
+
end
|
53
|
+
|
54
|
+
def success_json
|
55
|
+
{
|
56
|
+
json: {
|
57
|
+
user: spree_current_user,
|
58
|
+
ship_address: spree_current_user.ship_address,
|
59
|
+
bill_address: spree_current_user.bill_address
|
60
|
+
}.to_json
|
61
|
+
}
|
62
|
+
end
|
53
63
|
end
|
data/lib/spree/auth/engine.rb
CHANGED
@@ -25,9 +25,6 @@ module Spree
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def self.activate
|
28
|
-
Dir.glob(File.join(File.dirname(__FILE__), '../../app/**/*_decorator*.rb')) do |c|
|
29
|
-
Rails.configuration.cache_classes ? require(c) : load(c)
|
30
|
-
end
|
31
28
|
if Spree::Auth::Engine.backend_available?
|
32
29
|
Rails.application.config.assets.precompile += [
|
33
30
|
'lib/assets/javascripts/spree/backend/solidus_auth.js',
|
@@ -1,12 +1,12 @@
|
|
1
1
|
<% @body_id = 'signup' %>
|
2
2
|
|
3
|
-
<%= render
|
3
|
+
<%= render 'spree/shared/error_messages', target: resource %>
|
4
4
|
|
5
5
|
<div id="new-customer">
|
6
6
|
<h6><%= Spree.t(:new_customer) %></h6>
|
7
7
|
|
8
8
|
<div data-hook="signup">
|
9
|
-
<%= form_for resource, :as => :spree_user, :url => spree.registration_path(
|
9
|
+
<%= form_for resource, :as => :spree_user, :url => spree.registration_path(resource) do |f| %>
|
10
10
|
<div data-hook="signup_inside_form">
|
11
11
|
<%= render :partial => 'spree/shared/user_form', :locals => { :f => f } %>
|
12
12
|
<p><%= f.submit Spree.t(:create), :class => 'button primary' %></p>
|
data/solidus_auth_devise.gemspec
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.platform = Gem::Platform::RUBY
|
5
5
|
s.name = "solidus_auth_devise"
|
6
|
-
s.version = "1.
|
6
|
+
s.version = "1.1.0"
|
7
7
|
s.summary = "Provides authentication and authorization services for use with Solidus by using Devise and CanCan."
|
8
8
|
s.description = s.summary
|
9
9
|
|
@@ -21,7 +21,7 @@ Gem::Specification.new do |s|
|
|
21
21
|
solidus_version = [">= 1.0.0.pre", "< 2"]
|
22
22
|
|
23
23
|
s.add_dependency "solidus_core", solidus_version
|
24
|
-
s.add_dependency "devise",
|
24
|
+
s.add_dependency "devise", '~> 3.5.1'
|
25
25
|
s.add_dependency "devise-encryptable", "0.1.2"
|
26
26
|
|
27
27
|
s.add_dependency "json"
|
@@ -3,11 +3,66 @@ RSpec.describe Spree::UserRegistrationsController, type: :controller do
|
|
3
3
|
before { @request.env['devise.mapping'] = Devise.mappings[:spree_user] }
|
4
4
|
|
5
5
|
context '#create' do
|
6
|
-
before
|
6
|
+
before do
|
7
|
+
allow(controller).to receive(:after_sign_up_path_for) do
|
8
|
+
spree.root_path(thing: 7)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
let(:password_confirmation) { 'foobar123' }
|
13
|
+
|
14
|
+
subject do
|
15
|
+
spree_post(:create,
|
16
|
+
spree_user: {
|
17
|
+
email: 'foobar@example.com',
|
18
|
+
password: 'foobar123',
|
19
|
+
password_confirmation: password_confirmation
|
20
|
+
})
|
21
|
+
end
|
22
|
+
|
23
|
+
context 'when user created successfuly' do
|
24
|
+
it 'saves the user' do
|
25
|
+
expect { subject }.to change { Spree::User.count }.from(0).to(1)
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'sets flash message' do
|
29
|
+
subject
|
30
|
+
expect(flash[:notice]).to eq('Welcome! You have signed up successfully.')
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'signs in user' do
|
34
|
+
expect(controller.warden).to receive(:set_user)
|
35
|
+
subject
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'sets spree_user_signup session' do
|
39
|
+
subject
|
40
|
+
expect(session[:spree_user_signup]).to be true
|
41
|
+
end
|
42
|
+
|
43
|
+
it 'tries to associate user with current_order' do
|
44
|
+
expect(controller).to receive(:associate_user)
|
45
|
+
subject
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'redirects to after_sign_up path' do
|
49
|
+
subject
|
50
|
+
expect(response).to redirect_to spree.root_path(thing: 7)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
context 'when user not valid' do
|
55
|
+
let(:password_confirmation) { 'foobard123' }
|
56
|
+
|
57
|
+
it 'resets password fields' do
|
58
|
+
expect(controller).to receive(:clean_up_passwords)
|
59
|
+
subject
|
60
|
+
end
|
7
61
|
|
8
|
-
|
9
|
-
|
10
|
-
|
62
|
+
it 'renders new view' do
|
63
|
+
subject
|
64
|
+
expect(:response).to render_template(:new)
|
65
|
+
end
|
11
66
|
end
|
12
67
|
end
|
13
68
|
end
|
@@ -1,32 +1,46 @@
|
|
1
1
|
RSpec.describe Spree::UserSessionsController, type: :controller do
|
2
|
-
|
3
2
|
let(:user) { create(:user) }
|
4
3
|
|
5
4
|
before { @request.env['devise.mapping'] = Devise.mappings[:spree_user] }
|
6
5
|
|
7
6
|
context "#create" do
|
8
|
-
|
7
|
+
let(:format) { :html }
|
8
|
+
let(:password) { 'secret' }
|
9
|
+
|
10
|
+
subject do
|
11
|
+
spree_post(:create,
|
12
|
+
spree_user: {
|
13
|
+
email: user.email,
|
14
|
+
password: password
|
15
|
+
},
|
16
|
+
format: format)
|
17
|
+
end
|
18
|
+
|
19
|
+
context "when using correct login information" do
|
9
20
|
it 'properly assigns orders user from guest_token' do
|
10
21
|
order1 = create(:order, guest_token: 'ABC', user_id: nil, created_by_id: nil)
|
11
22
|
order2 = create(:order, guest_token: 'ABC', user_id: 200)
|
12
23
|
request.cookie_jar.signed[:guest_token] = 'ABC'
|
13
|
-
|
24
|
+
|
25
|
+
subject
|
14
26
|
|
15
27
|
expect(order1.reload.user_id).to eq user.id
|
16
28
|
expect(order1.reload.created_by_id).to eq user.id
|
17
29
|
expect(order2.reload.user_id).to eq 200
|
18
30
|
end
|
19
31
|
|
20
|
-
context "
|
32
|
+
context "when html format is requested" do
|
21
33
|
it "redirects to default after signing in" do
|
22
|
-
|
34
|
+
subject
|
23
35
|
expect(response).to redirect_to spree.root_path
|
24
36
|
end
|
25
37
|
end
|
26
38
|
|
27
|
-
context "
|
39
|
+
context "when js format is requested" do
|
40
|
+
let(:format) { :js }
|
41
|
+
|
28
42
|
it "returns a json with ship and bill address" do
|
29
|
-
|
43
|
+
subject
|
30
44
|
parsed = ActiveSupport::JSON.decode(response.body)
|
31
45
|
expect(parsed).to have_key("user")
|
32
46
|
expect(parsed).to have_key("ship_address")
|
@@ -35,18 +49,21 @@ RSpec.describe Spree::UserSessionsController, type: :controller do
|
|
35
49
|
end
|
36
50
|
end
|
37
51
|
|
38
|
-
context "using incorrect login information" do
|
39
|
-
|
52
|
+
context "when using incorrect login information" do
|
53
|
+
let(:password) { 'wrong' }
|
54
|
+
|
55
|
+
context "when html format is requested" do
|
40
56
|
it "renders new template again with errors" do
|
41
|
-
|
42
|
-
expect(response).to render_template(
|
57
|
+
subject
|
58
|
+
expect(response).to render_template(:new)
|
43
59
|
expect(flash[:error]).to eq I18n.t(:'devise.failure.invalid')
|
44
60
|
end
|
45
61
|
end
|
46
62
|
|
47
|
-
context "
|
48
|
-
|
49
|
-
|
63
|
+
context "when js format is requested" do
|
64
|
+
let(:format) { :js }
|
65
|
+
it "returns json with the error" do
|
66
|
+
subject
|
50
67
|
parsed = ActiveSupport::JSON.decode(response.body)
|
51
68
|
expect(parsed).to have_key("error")
|
52
69
|
end
|
@@ -11,6 +11,7 @@ RSpec.feature 'Checkout', :js, type: :feature do
|
|
11
11
|
|
12
12
|
given!(:zone) { create(:zone) }
|
13
13
|
given!(:address) { create(:address, state: state, country: country) }
|
14
|
+
given!(:payment_method){ create :check_payment_method }
|
14
15
|
|
15
16
|
background do
|
16
17
|
@product = create(:product, name: 'RoR Mug')
|
@@ -23,12 +24,6 @@ RSpec.feature 'Checkout', :js, type: :feature do
|
|
23
24
|
end
|
24
25
|
|
25
26
|
context 'without payment being required' do
|
26
|
-
background do
|
27
|
-
# So that we don't have to setup payment methods just for the sake of it
|
28
|
-
allow_any_instance_of(Spree::Order).to receive(:has_available_payment).and_return(true)
|
29
|
-
allow_any_instance_of(Spree::Order).to receive(:payment_required?).and_return(false)
|
30
|
-
end
|
31
|
-
|
32
27
|
scenario 'allow a visitor to checkout as guest, without registration' do
|
33
28
|
Spree::Auth::Config.set(registration_step: true)
|
34
29
|
click_link 'RoR Mug'
|
@@ -52,6 +47,7 @@ RSpec.feature 'Checkout', :js, type: :feature do
|
|
52
47
|
select "#{address.state.name}", from: "order_#{str_addr}_attributes_state_id"
|
53
48
|
check 'order_use_billing'
|
54
49
|
|
50
|
+
click_button 'Save and Continue'
|
55
51
|
click_button 'Save and Continue'
|
56
52
|
click_button 'Save and Continue'
|
57
53
|
click_button 'Place Order'
|
@@ -83,6 +79,7 @@ RSpec.feature 'Checkout', :js, type: :feature do
|
|
83
79
|
select "#{address.state.name}", from: "order_#{str_addr}_attributes_state_id"
|
84
80
|
check 'order_use_billing'
|
85
81
|
|
82
|
+
click_button 'Save and Continue'
|
86
83
|
click_button 'Save and Continue'
|
87
84
|
click_button 'Save and Continue'
|
88
85
|
click_button 'Place Order'
|
@@ -154,6 +151,7 @@ RSpec.feature 'Checkout', :js, type: :feature do
|
|
154
151
|
select "#{address.state.name}", from: "order_#{str_addr}_attributes_state_id"
|
155
152
|
check 'order_use_billing'
|
156
153
|
|
154
|
+
click_button 'Save and Continue'
|
157
155
|
click_button 'Save and Continue'
|
158
156
|
click_button 'Save and Continue'
|
159
157
|
click_button 'Place Order'
|
data/spec/models/user_spec.rb
CHANGED
@@ -8,7 +8,7 @@ RSpec.describe Spree::User, type: :model do
|
|
8
8
|
end
|
9
9
|
|
10
10
|
it 'generates the reset password token' do
|
11
|
-
user =
|
11
|
+
user = create(:user)
|
12
12
|
expect(Spree::UserMailer).to receive(:reset_password_instructions).with(user, anything, {}).and_return(double(deliver: true))
|
13
13
|
user.send_reset_password_instructions
|
14
14
|
expect(user.reset_password_token).not_to be_nil
|
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: 1.
|
4
|
+
version: 1.1.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: 2015-
|
11
|
+
date: 2015-06-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: solidus_core
|
@@ -36,14 +36,14 @@ dependencies:
|
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: 3.
|
39
|
+
version: 3.5.1
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: 3.
|
46
|
+
version: 3.5.1
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: devise-encryptable
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -280,13 +280,13 @@ files:
|
|
280
280
|
- LICENSE.md
|
281
281
|
- README.md
|
282
282
|
- Rakefile
|
283
|
-
- app/controllers/metal_decorator.rb
|
284
283
|
- app/mailers/spree/user_mailer.rb
|
285
284
|
- app/models/spree/auth_configuration.rb
|
286
285
|
- app/models/spree/user.rb
|
287
286
|
- app/overrides/auth_shared_login_bar.rb
|
288
287
|
- app/overrides/spree/admin/shared/_header/auth_admin_login_navigation_bar.html.erb.deface
|
289
288
|
- bin/rails
|
289
|
+
- circle.yml
|
290
290
|
- config/initializers/devise.rb
|
291
291
|
- config/initializers/warden.rb
|
292
292
|
- config/locales/de.yml
|