X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/965f32d545d7c44ad7b36264b818b930a50d8901..25737ce46e27d98e2e48eee6ab996cad259c3b83:/test/controllers/issues_controller_test.rb diff --git a/test/controllers/issues_controller_test.rb b/test/controllers/issues_controller_test.rb index 6f8bee328..87eda1506 100644 --- a/test/controllers/issues_controller_test.rb +++ b/test/controllers/issues_controller_test.rb @@ -3,6 +3,29 @@ require 'test_helper' class IssuesControllerTest < ActionController::TestCase fixtures :users,:user_roles + def test_view_dashboard_without_auth + # Access issues_path without login + get :index + assert_response :redirect + assert_redirected_to login_path(:referer => issues_path) + + # Access issues_path as normal user + session[:user] = users(:normal_user).id + get :index + assert_response :redirect + assert_redirected_to root_path + + # Access issues_path by admin + session[:user] = users(:administrator_user).id + get :index + assert_response :success + + # Access issues_path by moderator + session[:user]= users(:moderator_user).id + get :index + assert_response :success + end + def test_new_issue_without_login # Test creation of a new issue and a new report without logging in get :new, {reportable_id: 1, reportable_type: "User", reported_user_id: 1} @@ -150,4 +173,30 @@ class IssuesControllerTest < ActionController::TestCase assert_response :redirect end + def test_search_issues + # Login as administrator + session[:user] = users(:administrator_user).id + + # No issues against the user + get :index, search_by_user: "test1" + assert_response :redirect + assert_redirected_to issues_path + + # User doesn't exist + get :index, search_by_user: "test1000" + assert_response :redirect + assert_redirected_to issues_path + + # Create Issue against user_id:2 + test_new_issue_after_login + assert_equal Issue.count,1 + assert_equal Issue.first.reported_user_id,2 + + session[:user] = users(:administrator_user).id + + # Find Issue against user_id:2 + get :index, search_by_user: "test2" + assert_response :success + end + end