Skip to content

Commit c30cefa

Browse files
authored
Add forget_me! and force_forget_me! test cases (#216)
1 parent f87d14e commit c30cefa

File tree

3 files changed

+24
-12
lines changed

3 files changed

+24
-12
lines changed

spec/controllers/controller_remember_me_spec.rb

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,19 @@
66
# ----------------- REMEMBER ME -----------------------
77
context 'with remember me features' do
88
before(:all) do
9+
if SORCERY_ORM == :active_record
10+
MigrationHelper.migrate("#{Rails.root}/db/migrate/remember_me")
11+
User.reset_column_information
12+
end
13+
914
sorcery_reload!([:remember_me])
1015
end
1116

12-
# TODO: Unused, remove?
13-
# after(:each) do
14-
# session = nil
15-
# cookies = nil
16-
# end
17+
after(:all) do
18+
if SORCERY_ORM == :active_record
19+
MigrationHelper.rollback("#{Rails.root}/db/migrate/remember_me")
20+
end
21+
end
1722

1823
before(:each) do
1924
allow(user).to receive(:remember_me_token)
@@ -32,19 +37,17 @@
3237
end
3338

3439
it 'clears cookie on forget_me!' do
35-
cookies['remember_me_token'] = { value: 'asd54234dsfsd43534', expires: 3600 }
36-
get :test_logout
40+
request.cookies[:remember_me_token] = { value: 'asd54234dsfsd43534', expires: 3600 }
41+
get :test_logout_with_forget_me
3742

38-
pending 'Test previously broken, functionality might not be working here.'
39-
expect(cookies['remember_me_token']).to be_nil
43+
expect(response.cookies[:remember_me_token]).to be_nil
4044
end
4145

4246
it 'clears cookie on force_forget_me!' do
43-
cookies['remember_me_token'] = { value: 'asd54234dsfsd43534', expires: 3600 }
47+
request.cookies[:remember_me_token] = { value: 'asd54234dsfsd43534', expires: 3600 }
4448
get :test_logout_with_force_forget_me
4549

46-
pending 'Test previously broken, functionality might not be working here.'
47-
expect(cookies['remember_me_token']).to be_nil
50+
expect(response.cookies[:remember_me_token]).to be_nil
4851
end
4952

5053
it 'login(email,password,remember_me) logs user in and remembers' do

spec/rails_app/app/controllers/sorcery_controller.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ class SorceryController < ActionController::Base
66
before_action :require_login_from_http_basic, only: [:test_http_basic_auth]
77
before_action :require_login, only: %i[
88
test_logout
9+
test_logout_with_forget_me
910
test_logout_with_force_forget_me
1011
test_should_be_logged_in
1112
some_action
@@ -50,6 +51,13 @@ def test_logout_with_remember
5051
head :ok
5152
end
5253

54+
def test_logout_with_forget_me
55+
remember_me!
56+
forget_me!
57+
logout
58+
head :ok
59+
end
60+
5361
def test_logout_with_force_forget_me
5462
remember_me!
5563
force_forget_me!

spec/rails_app/config/routes.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
get :test_login_from_cookie
1212
get :test_login_from
1313
get :test_logout_with_remember
14+
get :test_logout_with_forget_me
1415
get :test_logout_with_force_forget_me
1516
get :test_invalidate_active_session
1617
get :test_should_be_logged_in

0 commit comments

Comments
 (0)