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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ac4c5f43e14c76fb098fc727c2749e4c3e2784e3
4
- data.tar.gz: ea45c92f87d2da7a95a7a84f417c4343bc0713de
3
+ metadata.gz: b630de047d5f4283ed5ba9e231ea628746ec44e4
4
+ data.tar.gz: 0004afefacaefd265e29ed1c6ba63ddcf3ecb371
5
5
  SHA512:
6
- metadata.gz: 1f5feb17f90670ba23070017133349ba09599e4d83f283700f4032a3ab6572408327e21b8faad00db5d4cd77751a993fba210643d6d256e415d07cb619c0d6c1
7
- data.tar.gz: 17948f62075b6e0eb1841f457dd5d8d581bff2815b8ce694aa96f2bc2fb27abe024bab1097c966c089c40a247f5329ba5b101ce23335407cba67d19b40abe06f
6
+ metadata.gz: 336eacc0e625a31d85682f35e6d8f70fff506059a2cdaea427f0f73ebfc5ed346e69bea426007d957588db422a75f0cee7df23dc1a39e7afbb3bbd14ad38c0ea
7
+ data.tar.gz: df132a9472e5d2a4e9dbf45187472f6f05e09098e41bcde3c7dd5d45c5f6f398d93f1d83416336b0d0c11c84fa0d4dbe1da55b2b9f87c88a188b9fae81cb84ea
data/.travis.yml CHANGED
@@ -2,10 +2,15 @@ before_script:
2
2
  - bundle exec rake test_app
3
3
  - export DISPLAY=:99.0
4
4
  - sh -e /etc/init.d/xvfb start
5
+ cache:
6
+ bundler: true
7
+
5
8
  env:
6
9
  - DB=mysql
7
10
  - DB=postgres
8
11
  language: ruby
9
12
  rvm:
10
- - 2.1.5
13
+ - 2.3.1
14
+ - 2.2.5
15
+
11
16
  sudo: false
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
@@ -2,8 +2,4 @@ source 'https://rubygems.org'
2
2
 
3
3
  gem 'spree', github: 'spree/spree', branch: 'master'
4
4
 
5
- group :test do
6
- gem 'mysql2'
7
- end
8
-
9
5
  gemspec
@@ -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
@@ -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.count > 0
22
+ User.admin.exists?
24
23
  end
25
24
 
26
25
  def admin?
data/circle.yml CHANGED
@@ -4,8 +4,10 @@ machine:
4
4
  services:
5
5
  - postgresql
6
6
  ruby:
7
- version: '2.2'
7
+ version: '2.2.4'
8
8
 
9
9
  dependencies:
10
+ pre:
11
+ - gem install bundler
10
12
  post:
11
13
  - bundle exec rake test_app
@@ -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(email: user.email, guest_token: auth.cookies.signed[:guest_token], user_id: nil).each do |order|
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,5 +1,5 @@
1
1
  Spree::Admin::OrdersController.class_eval do
2
- before_filter :check_authorization
2
+ before_action :check_authorization
3
3
 
4
4
  private
5
5
  def load_order_action
@@ -1,5 +1,5 @@
1
1
  Spree::Admin::Orders::CustomerDetailsController.class_eval do
2
- before_filter :check_authorization
2
+ before_action :check_authorization
3
3
 
4
4
  private
5
5
  def check_authorization
@@ -6,7 +6,6 @@ class Spree::Admin::UserPasswordsController < Devise::PasswordsController
6
6
  include Spree::Core::ControllerHelpers::Store
7
7
 
8
8
  helper 'spree/admin/navigation'
9
- helper 'spree/admin/tables'
10
9
  layout 'spree/layouts/admin'
11
10
 
12
11
  # Overridden due to bug in Devise.
@@ -6,7 +6,6 @@ class Spree::Admin::UserSessionsController < Devise::SessionsController
6
6
  include Spree::Core::ControllerHelpers::Store
7
7
 
8
8
  helper 'spree/admin/navigation'
9
- helper 'spree/admin/tables'
10
9
  layout :resolve_layout
11
10
 
12
11
  def create
@@ -1,17 +1,17 @@
1
1
  require 'spree/core/validators/email'
2
2
  Spree::CheckoutController.class_eval do
3
- before_filter :check_authorization
4
- before_filter :check_registration, :except => [:registration, :update_registration]
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 params[:order][:email] =~ Devise.email_regexp && current_order.update_attribute(:email, params[:order][:email])
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[:registration_error] = t(:email_is_invalid, :scope => [:errors, :messages])
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
- before_filter :check_permissions, :only => [:edit, :update]
10
- skip_before_filter :require_no_authentication
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
- skip_before_filter :set_current_order, :only => :show
3
- prepend_before_filter :load_object, :only => [:show, :edit, :update]
4
- prepend_before_filter :authorize_actions, :only => :new
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[:registration_error]).to eq I18n.t(:email_is_invalid, scope: [:errors, :messages])
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
- it 'properly assigns orders user from guest_token' do
10
- order1 = create(:order, email: user.email, guest_token: 'ABC', user_id: nil, created_by_id: nil)
11
- order2 = create(:order, guest_token: 'ABC', user_id: 200)
12
- request.cookie_jar.signed[:guest_token] = 'ABC'
13
- spree_post :create, spree_user: { email: user.email, password: 'secret' }
14
-
15
- expect(order1.reload.user_id).to eq user.id
16
- expect(order1.reload.created_by_id).to eq user.id
17
- expect(order2.reload.user_id).to eq 200
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').deliver_later
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').deliver_later
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
@@ -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, completed_at: Time.now)
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 }
@@ -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
@@ -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.1.0'
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.1.0'
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
- spree_version = '~> 3.1.0.beta'
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.4.1'
29
- s.add_development_dependency 'coffee-rails', '~> 4.0.0'
30
- s.add_development_dependency 'database_cleaner', '~> 1.2.0'
31
- s.add_development_dependency 'email_spec', '~> 1.5.0'
32
- s.add_development_dependency 'factory_girl', '~> 4.4'
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.5'
38
+ s.add_development_dependency 'poltergeist', '~> 1.6'
38
39
  s.add_development_dependency 'pry'
39
- s.add_development_dependency 'rspec-rails', '~> 3.4.1'
40
- s.add_development_dependency 'shoulda-matchers', '~> 2.6.2'
41
- s.add_development_dependency 'simplecov', '~> 0.9.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.1.0
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-04-07 00:00:00.000000000 Z
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: 3.5.4
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: 3.5.4
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.beta
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.beta
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.4.1
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.4.1
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.0.0
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.0.0
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.2.0
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.2.0
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.5.0
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.5.0
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.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.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.5'
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.5'
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.4.1
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.4.1
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: 2.6.2
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: 2.6.2
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.9.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.9.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.beta
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: 3.1.0.beta
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: 3.1.0.beta
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: 3.1.0.beta
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.1.0
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: '0'
486
+ version: 1.3.1
439
487
  requirements:
440
488
  - none
441
489
  rubyforge_project:
442
- rubygems_version: 2.4.8
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