From 0818a3057b0a91e422158d828026c941b4e10622 Mon Sep 17 00:00:00 2001 From: erdgeist Date: Thu, 25 Jun 2026 17:51:45 +0200 Subject: Rails 5.2 test updates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Rename test/functional → test/controllers, test/unit → test/models - Remove test/performance/browsing_test.rb (performance_test_help removed) - Fix use_transactional_fixtures → use_transactional_tests - Remove use_instantiated_fixtures (removed in Rails 5) - Fix ActiveRecord::Fixtures → FixtureSet - Fix controller test params syntax: add params: {} wrapper throughout - Fix assert_select targets for aggregator test - Fix test_update_a_draft_with_changing_the_template: draft → head - Add test_node.reload after children.create! (awesome_nested_set bug) - Add before/after count pattern for create tests (transactional isolation) - Known failures: 5 tests affected by Rails 5 transactional test isolation --- test/functional/users_controller_test.rb | 180 ------------------------------- 1 file changed, 180 deletions(-) delete mode 100644 test/functional/users_controller_test.rb (limited to 'test/functional/users_controller_test.rb') diff --git a/test/functional/users_controller_test.rb b/test/functional/users_controller_test.rb deleted file mode 100644 index 7511170..0000000 --- a/test/functional/users_controller_test.rb +++ /dev/null @@ -1,180 +0,0 @@ -require 'test_helper' - -class UsersControllerTest < ActionController::TestCase - - test "get index as regular user renders stripped partial" do - login_as :quentin - get :index - assert_response :success - assert_select "a", { :count => 0, :text => "Destroy" } - end - - test "get index as admin user renders admin partial" do - login_as :aaron - get :index - assert_response :success - assert_select "a", "destroy" - assert_select "a", "show", "Show Link is missing" - end - - test "get new when logged in as admin" do - login_as :aaron - get :new - assert_response :success - end - - test "get new without being logged in as admin redirects back to index" do - login_as :quentin - get :new - assert_response :redirect - assert_redirected_to users_path - assert_equal( - "Sorry, you need to be an admin for this action", - flash[:notice] - ) - end - - test "creating new users being logged in as admin" do - login_as :aaron - assert_difference "User.count", +1 do - post :create, :user => { - :login => "peter", - :email => "foo@bar.com", - :password => "xxxzzz", - :password_confirmation => "xxxzzz" - } - end - - assert_redirected_to user_path(User.last) - assert !User.last.admin - end - - test "creating new admin users being logged in as admin" do - login_as :aaron - assert_difference "User.count", +1 do - post :create, :user => { - :login => "peter", - :email => "foo@bar.com", - :password => "xxxzzz", - :password_confirmation => "xxxzzz", - :admin => true - } - end - - assert_redirected_to user_path(User.last) - assert User.last.admin - end - - test "creating new users not being logged as regular user wont work" do - login_as :quentin - assert_no_difference "User.count" do - post :create, :user => { - :login => "peter", - :email => "foo@bar.com", - :password => "xxxzzz", - :password_confirmation => "xxxzzz" - } - end - - assert_redirected_to users_path - assert_equal( - "Sorry, you need to be an admin for this action", - flash[:notice] - ) - end - - test "get edit of another user being logged in as regular user wont work" do - login_as :quentin - get :edit, :id => User.find_by_login("aaron").id - assert_redirected_to users_path - assert_equal( - "Sorry, you need to be an admin for this action", - flash[:notice] - ) - end - - test "get edit of another user being logged in as admin user" do - login_as :aaron - get :edit, :id => User.find_by_login("quentin").id - assert_response :success - end - - test "editing own user details is allowed" do - login_as :quentin - get :edit, :id => User.find_by_login("quentin").id - assert_response :success - end - - test "updating an user when being logged in as regular user wont work" do - user = User.find_by_login("aaron") - login_as :quentin - put :update, :id => user.id, :user => {:login => "random"} - assert_redirected_to users_path - assert_equal( - "Sorry, you need to be an admin for this action", - flash[:notice] - ) - end - - test "updating an user when being login in as admin user" do - user = User.find_by_login("quentin") - login_as :aaron - put :update, :id => user.id, :user => {:login => "random"} - assert_redirected_to user_path(user) - assert_equal "random", user.reload.login - end - - test "updating own user details is allowd" do - user = User.find_by_login("quentin") - login_as :quentin - put :update, :id => user.id, :user => {:login => "random"} - assert_redirected_to user_path(user) - assert_equal "random", user.reload.login - end - - test "showing a user" do - login_as :quentin - get :show, :id => User.find_by_login("aaron").id - assert_response :success - end - - test "destroying an user being logged in as regular user wont work" do - login_as :quentin - assert_no_difference "User.count" do - delete :destroy, :id => User.find_by_login("aaron").id - end - assert_redirected_to users_path - assert_equal( - "Sorry, you need to be an admin for this action", - flash[:notice] - ) - end - - test "destroying an user being logged in as admin user" do - login_as :aaron - assert_difference "User.count", -1 do - delete :destroy, :id => User.find_by_login("quentin").id - end - assert_redirected_to users_path - end - - test "admin user can promote regular users to admins" do - login_as :aaron - user = users(:quentin) - put :update, :id => user.id, :user => {:admin => true} - - user.reload - assert_equal true, user.is_admin? - end - - test "regular users cannot promote themselves to admins" do - login_as :quentin - user = users(:quentin) - put :update, :id => user.id, :user => {:admin => true} - - user.reload - assert_equal false, user.is_admin? - end - - -end -- cgit v1.3