diff --git a/spec/controllers/controller_remember_me_spec.rb b/spec/controllers/controller_remember_me_spec.rb index 5358bfcb..386060e3 100644 --- a/spec/controllers/controller_remember_me_spec.rb +++ b/spec/controllers/controller_remember_me_spec.rb @@ -6,14 +6,19 @@ # ----------------- REMEMBER ME ----------------------- context 'with remember me features' do before(:all) do + if SORCERY_ORM == :active_record + MigrationHelper.migrate("#{Rails.root}/db/migrate/remember_me") + User.reset_column_information + end + sorcery_reload!([:remember_me]) end - # TODO: Unused, remove? - # after(:each) do - # session = nil - # cookies = nil - # end + after(:all) do + if SORCERY_ORM == :active_record + MigrationHelper.rollback("#{Rails.root}/db/migrate/remember_me") + end + end before(:each) do allow(user).to receive(:remember_me_token) @@ -32,19 +37,17 @@ end it 'clears cookie on forget_me!' do - cookies['remember_me_token'] = { value: 'asd54234dsfsd43534', expires: 3600 } - get :test_logout + request.cookies[:remember_me_token] = { value: 'asd54234dsfsd43534', expires: 3600 } + get :test_logout_with_forget_me - pending 'Test previously broken, functionality might not be working here.' - expect(cookies['remember_me_token']).to be_nil + expect(response.cookies[:remember_me_token]).to be_nil end it 'clears cookie on force_forget_me!' do - cookies['remember_me_token'] = { value: 'asd54234dsfsd43534', expires: 3600 } + request.cookies[:remember_me_token] = { value: 'asd54234dsfsd43534', expires: 3600 } get :test_logout_with_force_forget_me - pending 'Test previously broken, functionality might not be working here.' - expect(cookies['remember_me_token']).to be_nil + expect(response.cookies[:remember_me_token]).to be_nil end it 'login(email,password,remember_me) logs user in and remembers' do diff --git a/spec/rails_app/app/controllers/sorcery_controller.rb b/spec/rails_app/app/controllers/sorcery_controller.rb index 3f978b5a..1f843c37 100644 --- a/spec/rails_app/app/controllers/sorcery_controller.rb +++ b/spec/rails_app/app/controllers/sorcery_controller.rb @@ -6,6 +6,7 @@ class SorceryController < ActionController::Base before_action :require_login_from_http_basic, only: [:test_http_basic_auth] before_action :require_login, only: %i[ test_logout + test_logout_with_forget_me test_logout_with_force_forget_me test_should_be_logged_in some_action @@ -50,6 +51,13 @@ def test_logout_with_remember head :ok end + def test_logout_with_forget_me + remember_me! + forget_me! + logout + head :ok + end + def test_logout_with_force_forget_me remember_me! force_forget_me! diff --git a/spec/rails_app/config/routes.rb b/spec/rails_app/config/routes.rb index 2b9fc428..1ae84fb4 100644 --- a/spec/rails_app/config/routes.rb +++ b/spec/rails_app/config/routes.rb @@ -11,6 +11,7 @@ get :test_login_from_cookie get :test_login_from get :test_logout_with_remember + get :test_logout_with_forget_me get :test_logout_with_force_forget_me get :test_invalidate_active_session get :test_should_be_logged_in