aboutsummaryrefslogtreecommitdiffstats
path: root/spec/controllers/admin_user_controller_spec.rb
diff options
context:
space:
mode:
authorRobin Houston <robin.houston@gmail.com>2012-02-06 14:48:12 +0000
committerRobin Houston <robin.houston@gmail.com>2012-02-06 14:48:12 +0000
commit3b6e5a692b852a88f55b21a7210f60a6f7cfc24b (patch)
tree02ec8e10de4f025eb430cd3856fe46381013c08a /spec/controllers/admin_user_controller_spec.rb
parent11782f45795dc8f57e5ca9666e8325976541120e (diff)
Let admin users use auto-login URLs
Don't change logged-in user from an admin when visiting a auto-login URL. Closes #306.
Diffstat (limited to 'spec/controllers/admin_user_controller_spec.rb')
-rw-r--r--spec/controllers/admin_user_controller_spec.rb17
1 files changed, 16 insertions, 1 deletions
diff --git a/spec/controllers/admin_user_controller_spec.rb b/spec/controllers/admin_user_controller_spec.rb
index 65ecbc37d..60ac6969d 100644
--- a/spec/controllers/admin_user_controller_spec.rb
+++ b/spec/controllers/admin_user_controller_spec.rb
@@ -2,7 +2,9 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
describe AdminUserController, "when administering users" do
integrate_views
- before { basic_auth_login @request }
+ before do
+ basic_auth_login @request
+ end
it "shows the index/list page" do
get :index
@@ -16,6 +18,19 @@ describe AdminUserController, "when administering users" do
it "shows a user" do
get :show, :id => users(:bob_smith_user)
end
+
+ it "logs in as another user" do
+ get :login_as, :id => users(:bob_smith_user).id
+ post_redirect = PostRedirect.get_last_post_redirect
+ response.should redirect_to(:controller => 'user', :action => 'confirm', :email_token => post_redirect.email_token)
+ end
+ it "logs in as another user when already logged in as an admin" do
+ session[:user_id] = users(:admin_user).id
+ get :login_as, :id => users(:bob_smith_user).id
+ post_redirect = PostRedirect.get_last_post_redirect
+ response.should redirect_to(:controller => 'user', :action => 'confirm', :email_token => post_redirect.email_token)
+ session[:user_id].should be_nil
+ end
end