mirror of
https://github.com/heartcombo/devise.git
synced 2022-11-09 12:18:31 -05:00
Tests.
This commit is contained in:
parent
80122856c4
commit
e75354b3b0
6 changed files with 73 additions and 1 deletions
|
@ -101,6 +101,54 @@ class AuthenticationSanityTest < ActionController::IntegrationTest
|
||||||
assert_contain 'Private!'
|
assert_contain 'Private!'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test 'signed in as admin should get admin dashboard' do
|
||||||
|
sign_in_as_admin
|
||||||
|
assert warden.authenticated?(:admin)
|
||||||
|
assert_not warden.authenticated?(:user)
|
||||||
|
|
||||||
|
get dashboard_path
|
||||||
|
|
||||||
|
assert_response :success
|
||||||
|
assert_template 'home/admin'
|
||||||
|
assert_contain 'Admin dashboard'
|
||||||
|
end
|
||||||
|
|
||||||
|
test 'signed in as user should get user dashboard' do
|
||||||
|
sign_in_as_user
|
||||||
|
assert warden.authenticated?(:user)
|
||||||
|
assert_not warden.authenticated?(:admin)
|
||||||
|
|
||||||
|
get dashboard_path
|
||||||
|
|
||||||
|
assert_response :success
|
||||||
|
assert_template 'home/user'
|
||||||
|
assert_contain 'User dashboard'
|
||||||
|
end
|
||||||
|
|
||||||
|
test 'not signed in should get no dashboard' do
|
||||||
|
assert_raises ActionController::RoutingError do
|
||||||
|
get dashboard_path
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
test 'signed in user should not see join page' do
|
||||||
|
sign_in_as_user
|
||||||
|
assert warden.authenticated?(:user)
|
||||||
|
assert_not warden.authenticated?(:admin)
|
||||||
|
|
||||||
|
assert_raises ActionController::RoutingError do
|
||||||
|
get join_path
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
test 'not signed in should see join page' do
|
||||||
|
get join_path
|
||||||
|
|
||||||
|
assert_response :success
|
||||||
|
assert_template 'home/join'
|
||||||
|
assert_contain 'Join'
|
||||||
|
end
|
||||||
|
|
||||||
test 'signed in as user should not be able to access admins actions' do
|
test 'signed in as user should not be able to access admins actions' do
|
||||||
sign_in_as_user
|
sign_in_as_user
|
||||||
assert warden.authenticated?(:user)
|
assert warden.authenticated?(:user)
|
||||||
|
|
|
@ -5,6 +5,15 @@ class HomeController < ApplicationController
|
||||||
def private
|
def private
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def user_dashboard
|
||||||
|
end
|
||||||
|
|
||||||
|
def admin_dashboard
|
||||||
|
end
|
||||||
|
|
||||||
|
def join
|
||||||
|
end
|
||||||
|
|
||||||
def set
|
def set
|
||||||
session["devise.foo_bar"] = "something"
|
session["devise.foo_bar"] = "something"
|
||||||
head :ok
|
head :ok
|
||||||
|
|
1
test/rails_app/app/views/home/admin_dashboard.html.erb
Normal file
1
test/rails_app/app/views/home/admin_dashboard.html.erb
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Admin dashboard
|
1
test/rails_app/app/views/home/join.html.erb
Normal file
1
test/rails_app/app/views/home/join.html.erb
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Join
|
1
test/rails_app/app/views/home/user_dashboard.html.erb
Normal file
1
test/rails_app/app/views/home/user_dashboard.html.erb
Normal file
|
@ -0,0 +1 @@
|
||||||
|
User dashboard
|
|
@ -27,7 +27,19 @@ Rails.application.routes.draw do
|
||||||
authenticate(:admin) do
|
authenticate(:admin) do
|
||||||
match "/private", :to => "home#private", :as => :private
|
match "/private", :to => "home#private", :as => :private
|
||||||
end
|
end
|
||||||
|
|
||||||
|
authenticated :admin do
|
||||||
|
match "/dashboard", :to => "home#admin_dashboard"
|
||||||
|
end
|
||||||
|
|
||||||
|
authenticated do
|
||||||
|
match "/dashboard", :to => "home#user_dashboard"
|
||||||
|
end
|
||||||
|
|
||||||
|
unauthenticated do
|
||||||
|
match "/join", :to => "home#join"
|
||||||
|
end
|
||||||
|
|
||||||
# Routes for constraints testing
|
# Routes for constraints testing
|
||||||
devise_for :headquarters_admin, :class_name => "Admin", :path => "headquarters", :constraints => {:host => /192\.168\.1\.\d\d\d/}
|
devise_for :headquarters_admin, :class_name => "Admin", :path => "headquarters", :constraints => {:host => /192\.168\.1\.\d\d\d/}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue