Skip to content

Commit

Permalink
Add forget_me! and force_forget_me! test cases (#216)
Browse files Browse the repository at this point in the history
  • Loading branch information
mladenilic committed Feb 24, 2020
1 parent f87d14e commit c30cefa
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 12 deletions.
27 changes: 15 additions & 12 deletions spec/controllers/controller_remember_me_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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
Expand Down
8 changes: 8 additions & 0 deletions spec/rails_app/app/controllers/sorcery_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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!
Expand Down
1 change: 1 addition & 0 deletions spec/rails_app/config/routes.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit c30cefa

Please sign in to comment.