spree_auth_devise 3.1.0 → 3.2.0.beta

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

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