mirror of
https://github.com/heartcombo/devise.git
synced 2022-11-09 12:18:31 -05:00
Creating new integration test simulating sign in and sign out with user and admin at same time.
This commit is contained in:
parent
1226c3d8de
commit
f840129815
5 changed files with 54 additions and 14 deletions
|
@ -1,6 +1,6 @@
|
||||||
class SessionsController < ApplicationController
|
class SessionsController < ApplicationController
|
||||||
before_filter :authenticate!, :only => :destroy
|
before_filter :authenticate!, :only => :destroy
|
||||||
before_filter :require_no_authentication, :except => :destroy
|
#before_filter :require_no_authentication, :except => :destroy
|
||||||
|
|
||||||
# GET /session/new
|
# GET /session/new
|
||||||
#
|
#
|
||||||
|
|
|
@ -32,7 +32,9 @@ module Devise
|
||||||
redirect_to new_session_path(scope) unless authenticated?(scope)
|
redirect_to new_session_path(scope) unless authenticated?(scope)
|
||||||
end
|
end
|
||||||
|
|
||||||
# Helper for use in before_filters where no authentication is required:
|
# Helper for use in before_filters where no authentication is required.
|
||||||
|
# Please note that all scopes will be tested within this filter, and if
|
||||||
|
# one of then is authenticated the filter will redirect.
|
||||||
# Example:
|
# Example:
|
||||||
# before_filter :require_no_authentication, :only => :new
|
# before_filter :require_no_authentication, :only => :new
|
||||||
#
|
#
|
||||||
|
|
|
@ -2,12 +2,6 @@ require 'test/test_helper'
|
||||||
|
|
||||||
class AdminsAuthenticationTest < ActionController::IntegrationTest
|
class AdminsAuthenticationTest < ActionController::IntegrationTest
|
||||||
|
|
||||||
test 'home should be accessible without signed in admins' do
|
|
||||||
visit '/'
|
|
||||||
assert_response :success
|
|
||||||
assert_template 'home/index'
|
|
||||||
end
|
|
||||||
|
|
||||||
test 'not signed in as admin should not be able to access admins actions' do
|
test 'not signed in as admin should not be able to access admins actions' do
|
||||||
get admins_path
|
get admins_path
|
||||||
|
|
||||||
|
|
50
test/integration/authentication_test.rb
Normal file
50
test/integration/authentication_test.rb
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
require 'test/test_helper'
|
||||||
|
|
||||||
|
class AuthenticationTest < ActionController::IntegrationTest
|
||||||
|
|
||||||
|
test 'home should be accessible without signed in admins' do
|
||||||
|
visit '/'
|
||||||
|
assert_response :success
|
||||||
|
assert_template 'home/index'
|
||||||
|
end
|
||||||
|
|
||||||
|
test 'sign in as user should not authenticate admin scope' do
|
||||||
|
sign_in_as_user
|
||||||
|
|
||||||
|
assert warden.authenticated?(:user)
|
||||||
|
assert_not warden.authenticated?(:admin)
|
||||||
|
end
|
||||||
|
|
||||||
|
test 'sign in as admin should not authenticate user scope' do
|
||||||
|
sign_in_as_admin
|
||||||
|
|
||||||
|
assert warden.authenticated?(:admin)
|
||||||
|
assert_not warden.authenticated?(:user)
|
||||||
|
end
|
||||||
|
|
||||||
|
test 'sign in as both user and admin at same time' do
|
||||||
|
sign_in_as_user
|
||||||
|
sign_in_as_admin
|
||||||
|
|
||||||
|
assert warden.authenticated?(:user)
|
||||||
|
assert warden.authenticated?(:admin)
|
||||||
|
end
|
||||||
|
|
||||||
|
test 'sign out as user should not touch admin authentication' do
|
||||||
|
sign_in_as_user
|
||||||
|
sign_in_as_admin
|
||||||
|
|
||||||
|
delete user_session_path
|
||||||
|
assert_not warden.authenticated?(:user)
|
||||||
|
assert warden.authenticated?(:admin)
|
||||||
|
end
|
||||||
|
|
||||||
|
test 'sign out as admin should not touch user authentication' do
|
||||||
|
sign_in_as_user
|
||||||
|
sign_in_as_admin
|
||||||
|
|
||||||
|
delete admin_session_path
|
||||||
|
assert_not warden.authenticated?(:admin)
|
||||||
|
assert warden.authenticated?(:user)
|
||||||
|
end
|
||||||
|
end
|
|
@ -2,12 +2,6 @@ require 'test/test_helper'
|
||||||
|
|
||||||
class UsersAuthenticationTest < ActionController::IntegrationTest
|
class UsersAuthenticationTest < ActionController::IntegrationTest
|
||||||
|
|
||||||
test 'home should be accessible without signed in users' do
|
|
||||||
visit '/'
|
|
||||||
assert_response :success
|
|
||||||
assert_template 'home/index'
|
|
||||||
end
|
|
||||||
|
|
||||||
test 'not signed in as user should not be able to access users actions' do
|
test 'not signed in as user should not be able to access users actions' do
|
||||||
get users_path
|
get users_path
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue