spree_auth_devise 3.1.0 → 3.2.0.beta
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 +4 -4
- data/.travis.yml +6 -1
- data/CHANGELOG.md +17 -0
- data/Gemfile +0 -4
- data/app/mailers/spree/user_mailer.rb +1 -0
- data/app/models/spree/user.rb +2 -3
- data/circle.yml +3 -1
- data/config/initializers/devise.rb +6 -0
- data/config/initializers/warden.rb +1 -1
- data/config/locales/pt.yml +55 -0
- data/lib/controllers/backend/spree/admin/admin_orders_controller_decorator.rb +1 -1
- data/lib/controllers/backend/spree/admin/orders/customer_details_controller_decorator.rb +1 -1
- data/lib/controllers/backend/spree/admin/user_passwords_controller.rb +0 -1
- data/lib/controllers/backend/spree/admin/user_sessions_controller.rb +0 -1
- data/lib/controllers/frontend/spree/checkout_controller_decorator.rb +4 -4
- data/lib/controllers/frontend/spree/user_registrations_controller.rb +2 -5
- data/lib/controllers/frontend/spree/users_controller.rb +3 -3
- data/lib/views/frontend/spree/checkout/registration.html.erb +0 -3
- data/spec/controllers/spree/checkout_controller_spec.rb +1 -1
- data/spec/controllers/spree/user_registrations_controller_spec.rb +30 -0
- data/spec/controllers/spree/user_sessions_controller_spec.rb +47 -9
- data/spec/mailers/user_mailer_spec.rb +2 -9
- data/spec/models/user_spec.rb +21 -2
- data/spec/spec_helper.rb +7 -0
- data/spec/support/capybara.rb +2 -0
- data/spree_auth_devise.gemspec +16 -14
- metadata +86 -38
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b630de047d5f4283ed5ba9e231ea628746ec44e4
|
4
|
+
data.tar.gz: 0004afefacaefd265e29ed1c6ba63ddcf3ecb371
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 336eacc0e625a31d85682f35e6d8f70fff506059a2cdaea427f0f73ebfc5ed346e69bea426007d957588db422a75f0cee7df23dc1a39e7afbb3bbd14ad38c0ea
|
7
|
+
data.tar.gz: df132a9472e5d2a4e9dbf45187472f6f05e09098e41bcde3c7dd5d45c5f6f398d93f1d83416336b0d0c11c84fa0d4dbe1da55b2b9f87c88a188b9fae81cb84ea
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
## Spree Auth Devise v3.2.0 (master, unreleased)
|
2
|
+
|
3
|
+
* Supports `Spree 3.1` and any other newer version lesser than `4.0` (https://github.com/spree/spree_auth_devise/pull/353)
|
4
|
+
* `devise` updated to `4.0` (https://github.com/spree/spree_auth_devise/pull/344)
|
5
|
+
* updated development dependencies (https://github.com/spree/spree_auth_devise/pull/351)
|
6
|
+
* include `Spree::UserMethods` in `Spree::User` (https://github.com/spree/spree_auth_devise/pull/343)
|
7
|
+
|
8
|
+
## Spree Auth Devise v3.1.0 (2016-04-05)
|
9
|
+
|
10
|
+
* `Spree 3.1` support
|
11
|
+
* login / account links are loaded via ajax similar to cart link (https://github.com/spree/spree_auth_devise/pull/320)
|
12
|
+
* updated `devise` to `3.5.4` for security reasons (https://github.com/spree/spree_auth_devise/pull/323)
|
13
|
+
* explicitly require `deface` in dependencies (https://github.com/spree/spree_auth_devise/pull/331)
|
14
|
+
* removed `json` from dependencies (https://github.com/spree/spree_auth_devise/pull/329)
|
15
|
+
* fixes `xml` / `json` endpoints (https://github.com/spree/spree_auth_devise/pull/311)
|
16
|
+
* `Spree.admin_path` support (https://github.com/spree/spree_auth_devise/pull/307)
|
17
|
+
* `CircleCI` support (https://github.com/spree/spree_auth_devise/pull/288)
|
data/Gemfile
CHANGED
@@ -8,6 +8,7 @@ module Spree
|
|
8
8
|
|
9
9
|
def confirmation_instructions(user, token, opts={})
|
10
10
|
@confirmation_url = spree.spree_user_confirmation_url(:confirmation_token => token, :host => Spree::Store.current.url)
|
11
|
+
@email = user.email
|
11
12
|
|
12
13
|
mail to: user.email, from: from_address, subject: Spree::Store.current.name + ' ' + I18n.t(:subject, :scope => [:devise, :mailer, :confirmation_instructions])
|
13
14
|
end
|
data/app/models/spree/user.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
module Spree
|
2
2
|
class User < Spree::Base
|
3
3
|
include UserAddress
|
4
|
+
include UserMethods
|
4
5
|
include UserPaymentSource
|
5
6
|
|
6
7
|
devise :database_authenticatable, :registerable, :recoverable,
|
@@ -10,8 +11,6 @@ module Spree
|
|
10
11
|
acts_as_paranoid
|
11
12
|
after_destroy :scramble_email_and_password
|
12
13
|
|
13
|
-
has_many :orders
|
14
|
-
|
15
14
|
before_validation :set_login
|
16
15
|
|
17
16
|
users_table_name = User.table_name
|
@@ -20,7 +19,7 @@ module Spree
|
|
20
19
|
scope :admin, -> { includes(:spree_roles).where("#{roles_table_name}.name" => "admin") }
|
21
20
|
|
22
21
|
def self.admin_created?
|
23
|
-
User.admin.
|
22
|
+
User.admin.exists?
|
24
23
|
end
|
25
24
|
|
26
25
|
def admin?
|
data/circle.yml
CHANGED
@@ -134,4 +134,10 @@ Devise.setup do |config|
|
|
134
134
|
config.sign_out_via = :get
|
135
135
|
|
136
136
|
config.case_insensitive_keys = [:email]
|
137
|
+
|
138
|
+
# keep old config
|
139
|
+
config.email_regexp = /\A[^@\s]+@([^@\s]+\.)+[^@\W]+\z/
|
140
|
+
config.reconfirmable = false
|
141
|
+
config.skip_session_storage = []
|
142
|
+
config.strip_whitespace_keys = []
|
137
143
|
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
Warden::Manager.after_set_user except: :fetch do |user, auth, opts|
|
3
3
|
if auth.cookies.signed[:guest_token].present?
|
4
4
|
if user.is_a?(Spree::User)
|
5
|
-
Spree::Order.where(
|
5
|
+
Spree::Order.incomplete.where(guest_token: auth.cookies.signed[:guest_token], user_id: nil).each do |order|
|
6
6
|
order.associate_user!(user)
|
7
7
|
end
|
8
8
|
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
---
|
2
|
+
pt:
|
3
|
+
spree:
|
4
|
+
admin_login: "Entrar como Administrador"
|
5
|
+
change_your_password: "Altere a sua senha"
|
6
|
+
devise:
|
7
|
+
confirmations:
|
8
|
+
confirmed: A sua conta foi confirmada com sucesso. Já se encontra conectado.
|
9
|
+
send_instructions: Receberá, brevemente, um e-mail com as instruções de confirmação da sua conta.
|
10
|
+
failure:
|
11
|
+
inactive: A sua conta ainda não foi ativada.
|
12
|
+
invalid: E-mail ou senha inválida.
|
13
|
+
invalid_token: Token de autenticação inválido.
|
14
|
+
locked: A sua conta está bloqueada.
|
15
|
+
timeout: A sua sessão expirou! Por favor, entre novamente para continuar.
|
16
|
+
unauthenticated: Precisa de se autenticar ou de se registar antes de continuar.
|
17
|
+
unconfirmed: Precisa de confirmar a sua conta antes de continuar.
|
18
|
+
mailer:
|
19
|
+
confirmation_instructions:
|
20
|
+
subject: Instruções de confirmação
|
21
|
+
reset_password_instructions:
|
22
|
+
subject: Instruções de redefinição de senha
|
23
|
+
unlock_instructions:
|
24
|
+
subject: Instruções de desbloqueio
|
25
|
+
oauth_callbacks:
|
26
|
+
failure: '%{kind} não foi autorizada porque %{reason}.'
|
27
|
+
success: 'Conta %{kind} foi autorizada com sucesso.'
|
28
|
+
unlocks:
|
29
|
+
send_instructions: Receberá um e-mail com as instruções de desbloqueio da sua conta em poucos minutos.
|
30
|
+
unlocked: A sua conta foi desbloqueada com sucesso. Já se encontra conectado.
|
31
|
+
passwords:
|
32
|
+
spree_user:
|
33
|
+
cannot_be_blank: A sua senha não pode estar em branco.
|
34
|
+
send_instructions: Receberá um e-mail com as instruções de redefinição da sua senha em poucos minutos.
|
35
|
+
no_token: "Não pode aceder a esta página sem ser através de um e-mail de redefinição de senha. Se está a aceder através de um e-mail de redefinição de senha, verifique se está a usar o URL completo."
|
36
|
+
updated: A sua senha foi alterada com sucesso. Já se encontra conectado.
|
37
|
+
user_registrations:
|
38
|
+
destroyed: Até logo! A sua conta foi cancelada com sucesso. Esperamos voltar a vê-lo em breve.
|
39
|
+
inactive_signed_up: 'O seu registo foi concluído com sucesso. No entanto, não conectado porque a sua conta está %{reason}.'
|
40
|
+
signed_up: Bem vindo! O seu registo foi concluído com sucesso.
|
41
|
+
updated: A sua conta foi atualizada com sucesso.
|
42
|
+
user_sessions:
|
43
|
+
signed_in: Entrou com sucesso.
|
44
|
+
signed_out: Saiu com sucesso.
|
45
|
+
already_signed_in: Já está conectado.
|
46
|
+
already_signed_out: Já não está conectado.
|
47
|
+
errors:
|
48
|
+
messages:
|
49
|
+
already_confirmed: já foi confirmado
|
50
|
+
email_is_invalid: O e-mail não pode estar em branco
|
51
|
+
not_found: não foi encontrado
|
52
|
+
not_locked: não estava bloqueado
|
53
|
+
not_saved:
|
54
|
+
one: '1 erro não permitiu que este %{resource} fosse guardado:'
|
55
|
+
other: '%{count} erros não permitiram que este %{resource} fosse guardado:'
|
@@ -1,17 +1,17 @@
|
|
1
1
|
require 'spree/core/validators/email'
|
2
2
|
Spree::CheckoutController.class_eval do
|
3
|
-
|
4
|
-
|
3
|
+
before_action :check_authorization
|
4
|
+
before_action :check_registration, except: [:registration, :update_registration]
|
5
5
|
|
6
6
|
def registration
|
7
7
|
@user = Spree::User.new
|
8
8
|
end
|
9
9
|
|
10
10
|
def update_registration
|
11
|
-
if
|
11
|
+
if order_params[:email] =~ Devise.email_regexp && current_order.update_attribute(:email, order_params[:email])
|
12
12
|
redirect_to spree.checkout_path
|
13
13
|
else
|
14
|
-
flash[:
|
14
|
+
flash[:error] = t(:email_is_invalid, scope: [:errors, :messages])
|
15
15
|
@user = Spree::User.new
|
16
16
|
render 'registration'
|
17
17
|
end
|
@@ -6,8 +6,8 @@ class Spree::UserRegistrationsController < Devise::RegistrationsController
|
|
6
6
|
include Spree::Core::ControllerHelpers::Order
|
7
7
|
include Spree::Core::ControllerHelpers::Store
|
8
8
|
|
9
|
-
|
10
|
-
|
9
|
+
before_action :check_permissions, only: [:edit, :update]
|
10
|
+
skip_before_action :require_no_authentication
|
11
11
|
|
12
12
|
# GET /resource/sign_up
|
13
13
|
def new
|
@@ -23,9 +23,6 @@ class Spree::UserRegistrationsController < Devise::RegistrationsController
|
|
23
23
|
if resource_saved
|
24
24
|
if resource.active_for_authentication?
|
25
25
|
set_flash_message :notice, :signed_up
|
26
|
-
if current_order
|
27
|
-
current_order.associate_user! @user
|
28
|
-
end
|
29
26
|
sign_up(resource_name, resource)
|
30
27
|
session[:spree_user_signup] = true
|
31
28
|
respond_with resource, location: after_sign_up_path_for(resource)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
class Spree::UsersController < Spree::StoreController
|
2
|
-
|
3
|
-
|
4
|
-
|
2
|
+
skip_before_action :set_current_order, only: :show
|
3
|
+
prepend_before_action :load_object, only: [:show, :edit, :update]
|
4
|
+
prepend_before_action :authorize_actions, only: :new
|
5
5
|
|
6
6
|
include Spree::Core::ControllerHelpers
|
7
7
|
|
@@ -11,9 +11,6 @@
|
|
11
11
|
<h3 class="panel-title"><%= Spree.t(:guest_user_account) %></h3>
|
12
12
|
</div>
|
13
13
|
<div id="guest_checkout" class="panel-body" data-hook>
|
14
|
-
<% if flash[:registration_error] %>
|
15
|
-
<div class='flash error'><%= flash[:registration_error] %></div>
|
16
|
-
<% end %>
|
17
14
|
<%= form_for @order, :url => update_checkout_registration_path, :method => :put, :html => { :id => 'checkout_form_registration' } do |f| %>
|
18
15
|
<p>
|
19
16
|
<%= f.email_field :email, :class => 'form-control title', :placeholder => Spree.t(:email) %>
|
@@ -120,7 +120,7 @@ RSpec.describe Spree::CheckoutController, type: :controller do
|
|
120
120
|
it 'renders the registration view if unable to save' do
|
121
121
|
allow(controller).to receive(:check_authorization)
|
122
122
|
spree_put :update_registration, { order: { email: 'invalid' } }
|
123
|
-
expect(flash[:
|
123
|
+
expect(flash[:error]).to eq I18n.t(:email_is_invalid, scope: [:errors, :messages])
|
124
124
|
expect(response).to render_template :registration
|
125
125
|
end
|
126
126
|
|
@@ -9,5 +9,35 @@ RSpec.describe Spree::UserRegistrationsController, type: :controller do
|
|
9
9
|
spree_post :create, { spree_user: { email: 'foobar@example.com', password: 'foobar123', password_confirmation: 'foobar123' } }
|
10
10
|
expect(response).to redirect_to spree.root_path(thing: 7)
|
11
11
|
end
|
12
|
+
|
13
|
+
context 'with a guest token present' do
|
14
|
+
before do
|
15
|
+
request.cookie_jar.signed[:guest_token] = 'ABC'
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'assigns orders with the correct token and no user present' do
|
19
|
+
order = create(:order, guest_token: 'ABC', user_id: nil, created_by_id: nil)
|
20
|
+
spree_post :create, spree_user: { email: 'foobar@example.com', password: 'foobar123', password_confirmation: 'foobar123' }
|
21
|
+
user = Spree::User.find_by_email('foobar@example.com')
|
22
|
+
|
23
|
+
order.reload
|
24
|
+
expect(order.user_id).to eq user.id
|
25
|
+
expect(order.created_by_id).to eq user.id
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'does not assign orders with an existing user' do
|
29
|
+
order = create(:order, guest_token: 'ABC', user_id: 200)
|
30
|
+
spree_post :create, spree_user: { email: 'foobar@example.com', password: 'foobar123', password_confirmation: 'foobar123' }
|
31
|
+
|
32
|
+
expect(order.reload.user_id).to eq 200
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'does not assign orders with a different token' do
|
36
|
+
order = create(:order, guest_token: 'DEF', user_id: nil, created_by_id: nil)
|
37
|
+
spree_post :create, spree_user: { email: 'foobar@example.com', password: 'foobar123', password_confirmation: 'foobar123' }
|
38
|
+
|
39
|
+
expect(order.reload.user_id).to be_nil
|
40
|
+
end
|
41
|
+
end
|
12
42
|
end
|
13
43
|
end
|
@@ -6,15 +6,53 @@ RSpec.describe Spree::UserSessionsController, type: :controller do
|
|
6
6
|
|
7
7
|
context "#create" do
|
8
8
|
context "using correct login information" do
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
9
|
+
context 'with a guest token present' do
|
10
|
+
before do
|
11
|
+
request.cookie_jar.signed[:guest_token] = 'ABC'
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'assigns orders with the correct token and no user present' do
|
15
|
+
order = create(:order, email: user.email, guest_token: 'ABC', user_id: nil, created_by_id: nil)
|
16
|
+
spree_post :create, spree_user: { email: user.email, password: 'secret' }
|
17
|
+
|
18
|
+
order.reload
|
19
|
+
expect(order.user_id).to eq user.id
|
20
|
+
expect(order.created_by_id).to eq user.id
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'assigns orders with the correct token and no user or email present' do
|
24
|
+
order = create(:order, guest_token: 'ABC', user_id: nil, created_by_id: nil)
|
25
|
+
spree_post :create, spree_user: { email: user.email, password: 'secret' }
|
26
|
+
|
27
|
+
order.reload
|
28
|
+
expect(order.user_id).to eq user.id
|
29
|
+
expect(order.created_by_id).to eq user.id
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'does not assign completed orders' do
|
33
|
+
order = create(:order, email: user.email, guest_token: 'ABC',
|
34
|
+
user_id: nil, created_by_id: nil,
|
35
|
+
completed_at: 1.minute.ago)
|
36
|
+
spree_post :create, spree_user: { email: user.email, password: 'secret' }
|
37
|
+
|
38
|
+
order.reload
|
39
|
+
expect(order.user_id).to be_nil
|
40
|
+
expect(order.created_by_id).to be_nil
|
41
|
+
end
|
42
|
+
|
43
|
+
it 'does not assign orders with an existing user' do
|
44
|
+
order = create(:order, guest_token: 'ABC', user_id: 200)
|
45
|
+
spree_post :create, spree_user: { email: user.email, password: 'secret' }
|
46
|
+
|
47
|
+
expect(order.reload.user_id).to eq 200
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'does not assign orders with a different token' do
|
51
|
+
order = create(:order, guest_token: 'DEF', user_id: nil, created_by_id: nil)
|
52
|
+
spree_post :create, spree_user: { email: user.email, password: 'secret' }
|
53
|
+
|
54
|
+
expect(order.reload.user_id).to be_nil
|
55
|
+
end
|
18
56
|
end
|
19
57
|
|
20
58
|
context "and html format is used" do
|
@@ -3,17 +3,10 @@ RSpec.describe Spree::UserMailer, type: :mailer do
|
|
3
3
|
let!(:store) { create(:store) }
|
4
4
|
let(:user) { create(:user) }
|
5
5
|
|
6
|
-
before do
|
7
|
-
user = create(:user)
|
8
|
-
Spree::UserMailer.reset_password_instructions(user, 'token goes here').deliver_later
|
9
|
-
@message = ActionMailer::Base.deliveries.last
|
10
|
-
end
|
11
|
-
|
12
6
|
describe '#reset_password_instructions' do
|
13
7
|
describe 'message contents' do
|
14
8
|
before do
|
15
|
-
described_class.reset_password_instructions(user, 'token goes here')
|
16
|
-
@message = ActionMailer::Base.deliveries.last
|
9
|
+
@message = described_class.reset_password_instructions(user, 'token goes here')
|
17
10
|
end
|
18
11
|
|
19
12
|
context 'subject includes' do
|
@@ -38,7 +31,7 @@ RSpec.describe Spree::UserMailer, type: :mailer do
|
|
38
31
|
describe 'legacy support for User object' do
|
39
32
|
it 'sends an email' do
|
40
33
|
expect {
|
41
|
-
described_class.reset_password_instructions(user, 'token goes here').
|
34
|
+
described_class.reset_password_instructions(user, 'token goes here').deliver_now
|
42
35
|
}.to change(ActionMailer::Base.deliveries, :size).by(1)
|
43
36
|
end
|
44
37
|
end
|
data/spec/models/user_spec.rb
CHANGED
@@ -14,9 +14,21 @@ RSpec.describe Spree::User, type: :model do
|
|
14
14
|
expect(user.reset_password_token).not_to be_nil
|
15
15
|
end
|
16
16
|
|
17
|
+
describe '.admin_created?' do
|
18
|
+
it 'returns true when admin exists' do
|
19
|
+
create(:admin_user)
|
20
|
+
|
21
|
+
expect(Spree::User).to be_admin_created
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'returns false when admin does not exist' do
|
25
|
+
expect(Spree::User).to_not be_admin_created
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
17
29
|
context '#destroy' do
|
18
|
-
it 'will soft delete' do
|
19
|
-
order = build(:order
|
30
|
+
it 'will soft delete with uncompleted orders' do
|
31
|
+
order = build(:order)
|
20
32
|
order.save
|
21
33
|
user = order.user
|
22
34
|
user.destroy
|
@@ -28,6 +40,13 @@ RSpec.describe Spree::User, type: :model do
|
|
28
40
|
expect(Spree::Order.where(user_id: user.id).first).to eq(order)
|
29
41
|
end
|
30
42
|
|
43
|
+
it 'will not soft delete with completed orders' do
|
44
|
+
order = build(:order, completed_at: Time.now)
|
45
|
+
order.save
|
46
|
+
user = order.user
|
47
|
+
expect { user.destroy }.to raise_error(Spree::Core::DestroyWithOrdersError)
|
48
|
+
end
|
49
|
+
|
31
50
|
it 'will allow users to register later with same email address as previously deleted account' do
|
32
51
|
user1 = build(:user)
|
33
52
|
user1.save
|
data/spec/spec_helper.rb
CHANGED
@@ -8,6 +8,7 @@ require File.expand_path('../dummy/config/environment', __FILE__)
|
|
8
8
|
require 'rspec/rails'
|
9
9
|
require 'shoulda-matchers'
|
10
10
|
require 'ffaker'
|
11
|
+
require 'rails-controller-testing'
|
11
12
|
|
12
13
|
RSpec.configure do |config|
|
13
14
|
config.filter_run focus: true
|
@@ -19,6 +20,12 @@ RSpec.configure do |config|
|
|
19
20
|
config.mock_with :rspec do |mock|
|
20
21
|
mock.syntax = [:should, :expect]
|
21
22
|
end
|
23
|
+
|
24
|
+
[:controller, :view, :request].each do |type|
|
25
|
+
config.include ::Rails::Controller::Testing::TestProcess, type: type
|
26
|
+
config.include ::Rails::Controller::Testing::TemplateAssertions, type: type
|
27
|
+
config.include ::Rails::Controller::Testing::Integration, type: type
|
28
|
+
end
|
22
29
|
end
|
23
30
|
|
24
31
|
Dir[File.join(File.dirname(__FILE__), 'support/**/*.rb')].each { |f| require f }
|
data/spec/support/capybara.rb
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
require 'capybara/rspec'
|
2
2
|
require 'capybara/rails'
|
3
3
|
require 'capybara/poltergeist'
|
4
|
+
require 'capybara-screenshot/rspec'
|
4
5
|
|
5
6
|
RSpec.configure do |config|
|
6
7
|
Capybara.javascript_driver = :poltergeist
|
8
|
+
Capybara.save_and_open_page_path = ENV['CIRCLE_ARTIFACTS'] if ENV['CIRCLE_ARTIFACTS']
|
7
9
|
end
|
data/spree_auth_devise.gemspec
CHANGED
@@ -3,11 +3,11 @@
|
|
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.
|
6
|
+
s.version = '3.2.0.beta'
|
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
|
|
10
|
-
s.required_ruby_version = '>= 2.
|
10
|
+
s.required_ruby_version = '>= 2.2.2'
|
11
11
|
|
12
12
|
s.author = 'Sean Schofield'
|
13
13
|
s.email = 'sean@spreecommerce.com'
|
@@ -19,27 +19,29 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.require_path = 'lib'
|
20
20
|
s.requirements << 'none'
|
21
21
|
|
22
|
-
|
23
|
-
|
24
|
-
s.add_dependency 'devise', '~> 3.5.4'
|
22
|
+
s.add_dependency 'devise', '~> 4.0.0'
|
25
23
|
s.add_dependency 'devise-encryptable', '0.1.2'
|
24
|
+
|
25
|
+
spree_version = '>= 3.1.0', '< 4.0'
|
26
26
|
s.add_dependency 'spree_core', spree_version
|
27
27
|
|
28
|
-
s.add_development_dependency 'capybara', '~> 2.
|
29
|
-
s.add_development_dependency '
|
30
|
-
s.add_development_dependency '
|
31
|
-
s.add_development_dependency '
|
32
|
-
s.add_development_dependency '
|
28
|
+
s.add_development_dependency 'capybara', '~> 2.7'
|
29
|
+
s.add_development_dependency 'capybara-screenshot'
|
30
|
+
s.add_development_dependency 'coffee-rails', '~> 4.2'
|
31
|
+
s.add_development_dependency 'database_cleaner', '~> 1.5'
|
32
|
+
s.add_development_dependency 'email_spec', '~> 2.1'
|
33
|
+
s.add_development_dependency 'factory_girl', '~> 4.7'
|
33
34
|
s.add_development_dependency 'ffaker'
|
34
35
|
s.add_development_dependency 'launchy'
|
35
36
|
s.add_development_dependency 'mysql2'
|
36
37
|
s.add_development_dependency 'pg'
|
37
|
-
s.add_development_dependency 'poltergeist', '~> 1.
|
38
|
+
s.add_development_dependency 'poltergeist', '~> 1.6'
|
38
39
|
s.add_development_dependency 'pry'
|
39
|
-
s.add_development_dependency 'rspec-rails', '~> 3.
|
40
|
-
s.add_development_dependency 'shoulda-matchers', '~>
|
41
|
-
s.add_development_dependency 'simplecov', '~> 0.
|
40
|
+
s.add_development_dependency 'rspec-rails', '~> 3.5'
|
41
|
+
s.add_development_dependency 'shoulda-matchers', '~> 3.1'
|
42
|
+
s.add_development_dependency 'simplecov', '~> 0.12'
|
42
43
|
s.add_development_dependency 'spree_backend', spree_version
|
43
44
|
s.add_development_dependency 'spree_frontend', spree_version
|
44
45
|
s.add_development_dependency 'sqlite3'
|
46
|
+
s.add_development_dependency 'rails-controller-testing'
|
45
47
|
end
|
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.
|
4
|
+
version: 3.2.0.beta
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Schofield
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-12-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: devise
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 4.0.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 4.0.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: devise-encryptable
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -42,86 +42,106 @@ dependencies:
|
|
42
42
|
name: spree_core
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 3.1.0
|
47
|
+
version: 3.1.0
|
48
|
+
- - "<"
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: '4.0'
|
48
51
|
type: :runtime
|
49
52
|
prerelease: false
|
50
53
|
version_requirements: !ruby/object:Gem::Requirement
|
51
54
|
requirements:
|
52
|
-
- - "
|
55
|
+
- - ">="
|
53
56
|
- !ruby/object:Gem::Version
|
54
|
-
version: 3.1.0
|
57
|
+
version: 3.1.0
|
58
|
+
- - "<"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '4.0'
|
55
61
|
- !ruby/object:Gem::Dependency
|
56
62
|
name: capybara
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
58
64
|
requirements:
|
59
65
|
- - "~>"
|
60
66
|
- !ruby/object:Gem::Version
|
61
|
-
version: 2.
|
67
|
+
version: '2.7'
|
62
68
|
type: :development
|
63
69
|
prerelease: false
|
64
70
|
version_requirements: !ruby/object:Gem::Requirement
|
65
71
|
requirements:
|
66
72
|
- - "~>"
|
67
73
|
- !ruby/object:Gem::Version
|
68
|
-
version: 2.
|
74
|
+
version: '2.7'
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: capybara-screenshot
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - ">="
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '0'
|
82
|
+
type: :development
|
83
|
+
prerelease: false
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0'
|
69
89
|
- !ruby/object:Gem::Dependency
|
70
90
|
name: coffee-rails
|
71
91
|
requirement: !ruby/object:Gem::Requirement
|
72
92
|
requirements:
|
73
93
|
- - "~>"
|
74
94
|
- !ruby/object:Gem::Version
|
75
|
-
version: 4.
|
95
|
+
version: '4.2'
|
76
96
|
type: :development
|
77
97
|
prerelease: false
|
78
98
|
version_requirements: !ruby/object:Gem::Requirement
|
79
99
|
requirements:
|
80
100
|
- - "~>"
|
81
101
|
- !ruby/object:Gem::Version
|
82
|
-
version: 4.
|
102
|
+
version: '4.2'
|
83
103
|
- !ruby/object:Gem::Dependency
|
84
104
|
name: database_cleaner
|
85
105
|
requirement: !ruby/object:Gem::Requirement
|
86
106
|
requirements:
|
87
107
|
- - "~>"
|
88
108
|
- !ruby/object:Gem::Version
|
89
|
-
version: 1.
|
109
|
+
version: '1.5'
|
90
110
|
type: :development
|
91
111
|
prerelease: false
|
92
112
|
version_requirements: !ruby/object:Gem::Requirement
|
93
113
|
requirements:
|
94
114
|
- - "~>"
|
95
115
|
- !ruby/object:Gem::Version
|
96
|
-
version: 1.
|
116
|
+
version: '1.5'
|
97
117
|
- !ruby/object:Gem::Dependency
|
98
118
|
name: email_spec
|
99
119
|
requirement: !ruby/object:Gem::Requirement
|
100
120
|
requirements:
|
101
121
|
- - "~>"
|
102
122
|
- !ruby/object:Gem::Version
|
103
|
-
version: 1
|
123
|
+
version: '2.1'
|
104
124
|
type: :development
|
105
125
|
prerelease: false
|
106
126
|
version_requirements: !ruby/object:Gem::Requirement
|
107
127
|
requirements:
|
108
128
|
- - "~>"
|
109
129
|
- !ruby/object:Gem::Version
|
110
|
-
version: 1
|
130
|
+
version: '2.1'
|
111
131
|
- !ruby/object:Gem::Dependency
|
112
132
|
name: factory_girl
|
113
133
|
requirement: !ruby/object:Gem::Requirement
|
114
134
|
requirements:
|
115
135
|
- - "~>"
|
116
136
|
- !ruby/object:Gem::Version
|
117
|
-
version: '4.
|
137
|
+
version: '4.7'
|
118
138
|
type: :development
|
119
139
|
prerelease: false
|
120
140
|
version_requirements: !ruby/object:Gem::Requirement
|
121
141
|
requirements:
|
122
142
|
- - "~>"
|
123
143
|
- !ruby/object:Gem::Version
|
124
|
-
version: '4.
|
144
|
+
version: '4.7'
|
125
145
|
- !ruby/object:Gem::Dependency
|
126
146
|
name: ffaker
|
127
147
|
requirement: !ruby/object:Gem::Requirement
|
@@ -184,14 +204,14 @@ dependencies:
|
|
184
204
|
requirements:
|
185
205
|
- - "~>"
|
186
206
|
- !ruby/object:Gem::Version
|
187
|
-
version: '1.
|
207
|
+
version: '1.6'
|
188
208
|
type: :development
|
189
209
|
prerelease: false
|
190
210
|
version_requirements: !ruby/object:Gem::Requirement
|
191
211
|
requirements:
|
192
212
|
- - "~>"
|
193
213
|
- !ruby/object:Gem::Version
|
194
|
-
version: '1.
|
214
|
+
version: '1.6'
|
195
215
|
- !ruby/object:Gem::Dependency
|
196
216
|
name: pry
|
197
217
|
requirement: !ruby/object:Gem::Requirement
|
@@ -212,70 +232,82 @@ dependencies:
|
|
212
232
|
requirements:
|
213
233
|
- - "~>"
|
214
234
|
- !ruby/object:Gem::Version
|
215
|
-
version: 3.
|
235
|
+
version: '3.5'
|
216
236
|
type: :development
|
217
237
|
prerelease: false
|
218
238
|
version_requirements: !ruby/object:Gem::Requirement
|
219
239
|
requirements:
|
220
240
|
- - "~>"
|
221
241
|
- !ruby/object:Gem::Version
|
222
|
-
version: 3.
|
242
|
+
version: '3.5'
|
223
243
|
- !ruby/object:Gem::Dependency
|
224
244
|
name: shoulda-matchers
|
225
245
|
requirement: !ruby/object:Gem::Requirement
|
226
246
|
requirements:
|
227
247
|
- - "~>"
|
228
248
|
- !ruby/object:Gem::Version
|
229
|
-
version:
|
249
|
+
version: '3.1'
|
230
250
|
type: :development
|
231
251
|
prerelease: false
|
232
252
|
version_requirements: !ruby/object:Gem::Requirement
|
233
253
|
requirements:
|
234
254
|
- - "~>"
|
235
255
|
- !ruby/object:Gem::Version
|
236
|
-
version:
|
256
|
+
version: '3.1'
|
237
257
|
- !ruby/object:Gem::Dependency
|
238
258
|
name: simplecov
|
239
259
|
requirement: !ruby/object:Gem::Requirement
|
240
260
|
requirements:
|
241
261
|
- - "~>"
|
242
262
|
- !ruby/object:Gem::Version
|
243
|
-
version: 0.
|
263
|
+
version: '0.12'
|
244
264
|
type: :development
|
245
265
|
prerelease: false
|
246
266
|
version_requirements: !ruby/object:Gem::Requirement
|
247
267
|
requirements:
|
248
268
|
- - "~>"
|
249
269
|
- !ruby/object:Gem::Version
|
250
|
-
version: 0.
|
270
|
+
version: '0.12'
|
251
271
|
- !ruby/object:Gem::Dependency
|
252
272
|
name: spree_backend
|
253
273
|
requirement: !ruby/object:Gem::Requirement
|
254
274
|
requirements:
|
255
|
-
- - "
|
275
|
+
- - ">="
|
256
276
|
- !ruby/object:Gem::Version
|
257
|
-
version: 3.1.0
|
277
|
+
version: 3.1.0
|
278
|
+
- - "<"
|
279
|
+
- !ruby/object:Gem::Version
|
280
|
+
version: '4.0'
|
258
281
|
type: :development
|
259
282
|
prerelease: false
|
260
283
|
version_requirements: !ruby/object:Gem::Requirement
|
261
284
|
requirements:
|
262
|
-
- - "
|
285
|
+
- - ">="
|
286
|
+
- !ruby/object:Gem::Version
|
287
|
+
version: 3.1.0
|
288
|
+
- - "<"
|
263
289
|
- !ruby/object:Gem::Version
|
264
|
-
version:
|
290
|
+
version: '4.0'
|
265
291
|
- !ruby/object:Gem::Dependency
|
266
292
|
name: spree_frontend
|
267
293
|
requirement: !ruby/object:Gem::Requirement
|
268
294
|
requirements:
|
269
|
-
- - "
|
295
|
+
- - ">="
|
296
|
+
- !ruby/object:Gem::Version
|
297
|
+
version: 3.1.0
|
298
|
+
- - "<"
|
270
299
|
- !ruby/object:Gem::Version
|
271
|
-
version:
|
300
|
+
version: '4.0'
|
272
301
|
type: :development
|
273
302
|
prerelease: false
|
274
303
|
version_requirements: !ruby/object:Gem::Requirement
|
275
304
|
requirements:
|
276
|
-
- - "
|
305
|
+
- - ">="
|
306
|
+
- !ruby/object:Gem::Version
|
307
|
+
version: 3.1.0
|
308
|
+
- - "<"
|
277
309
|
- !ruby/object:Gem::Version
|
278
|
-
version:
|
310
|
+
version: '4.0'
|
279
311
|
- !ruby/object:Gem::Dependency
|
280
312
|
name: sqlite3
|
281
313
|
requirement: !ruby/object:Gem::Requirement
|
@@ -290,6 +322,20 @@ dependencies:
|
|
290
322
|
- - ">="
|
291
323
|
- !ruby/object:Gem::Version
|
292
324
|
version: '0'
|
325
|
+
- !ruby/object:Gem::Dependency
|
326
|
+
name: rails-controller-testing
|
327
|
+
requirement: !ruby/object:Gem::Requirement
|
328
|
+
requirements:
|
329
|
+
- - ">="
|
330
|
+
- !ruby/object:Gem::Version
|
331
|
+
version: '0'
|
332
|
+
type: :development
|
333
|
+
prerelease: false
|
334
|
+
version_requirements: !ruby/object:Gem::Requirement
|
335
|
+
requirements:
|
336
|
+
- - ">="
|
337
|
+
- !ruby/object:Gem::Version
|
338
|
+
version: '0'
|
293
339
|
description: Provides authentication and authorization services for use with Spree
|
294
340
|
by using Devise and CanCan.
|
295
341
|
email: sean@spreecommerce.com
|
@@ -300,6 +346,7 @@ files:
|
|
300
346
|
- ".gitignore"
|
301
347
|
- ".rspec"
|
302
348
|
- ".travis.yml"
|
349
|
+
- CHANGELOG.md
|
303
350
|
- Gemfile
|
304
351
|
- LICENSE.md
|
305
352
|
- README.md
|
@@ -323,6 +370,7 @@ files:
|
|
323
370
|
- config/locales/it.yml
|
324
371
|
- config/locales/nl.yml
|
325
372
|
- config/locales/pt-BR.yml
|
373
|
+
- config/locales/pt.yml
|
326
374
|
- config/locales/tr.yml
|
327
375
|
- config/routes.rb
|
328
376
|
- db/default/users.rb
|
@@ -430,16 +478,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
430
478
|
requirements:
|
431
479
|
- - ">="
|
432
480
|
- !ruby/object:Gem::Version
|
433
|
-
version: 2.
|
481
|
+
version: 2.2.2
|
434
482
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
435
483
|
requirements:
|
436
|
-
- - "
|
484
|
+
- - ">"
|
437
485
|
- !ruby/object:Gem::Version
|
438
|
-
version:
|
486
|
+
version: 1.3.1
|
439
487
|
requirements:
|
440
488
|
- none
|
441
489
|
rubyforge_project:
|
442
|
-
rubygems_version: 2.
|
490
|
+
rubygems_version: 2.5.1
|
443
491
|
signing_key:
|
444
492
|
specification_version: 4
|
445
493
|
summary: Provides authentication and authorization services for use with Spree by
|