]> git.openstreetmap.org Git - rails.git/blobdiff - test/integration/user_roles_test.rb
Probit control characters in user names
[rails.git] / test / integration / user_roles_test.rb
index df8b1561f0083d5aa26dc9a32685b0d43eb146a0..08031b4de52fcb0cd40ab6982f016bf72283ceb6 100644 (file)
@@ -1,6 +1,6 @@
-require File.dirname(__FILE__) + '/../test_helper'
+require 'test_helper'
 
-class UserRolesControllerTest < ActionController::IntegrationTest
+class UserRolesTest < ActionDispatch::IntegrationTest
   fixtures :users, :user_roles
 
   test "grant" do
@@ -16,29 +16,37 @@ class UserRolesControllerTest < ActionController::IntegrationTest
     check_fail(:revoke, :administrator_user, :moderator)
   end
 
+private
+
   def check_fail(action, user, role)
-    post '/login', {'user[email]' => users(user).email, 'user[password]' => "test", :referer => "/"}
+    get '/login'
     assert_response :redirect
+    assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true"
     follow_redirect!
     assert_response :success
-
-    get "/user/#{users(:second_public_user).display_name}/role/#{role}/#{action}"
+    post '/login', {'username' => users(user).email, 'password' => "test", :referer => "/"}
     assert_response :redirect
+    follow_redirect!
+    assert_response :success
+
+    post "/user/#{users(:second_public_user).display_name}/role/#{role}/#{action}"
     assert_redirected_to :controller => 'user', :action => 'view', :display_name => users(:second_public_user).display_name
 
     reset!
   end
 
   def check_success(action, user, role)
-    post '/login', {'user[email]' => users(user).email, 'user[password]' => "test", :referer => "/"}
+    get '/login'
     assert_response :redirect
+    assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true"
     follow_redirect!
     assert_response :success
-
-    get "/user/#{users(:second_public_user).display_name}/role/#{role}/#{action}"
-    assert_response :success
-    post "/user/#{users(:second_public_user).display_name}/role/#{role}/#{action}", {:confirm => "yes", :nonce => session[:nonce]}
+    post '/login', {'username' => users(user).email, 'password' => "test", :referer => "/"}
     assert_response :redirect
+    follow_redirect!
+    assert_response :success
+
+    post "/user/#{users(:second_public_user).display_name}/role/#{role}/#{action}"
     assert_redirected_to :controller => 'user', :action => 'view', :display_name => users(:second_public_user).display_name
 
     reset!