]> git.openstreetmap.org Git - rails.git/commitdiff
Redirect to the error page for non-existent issues
authorTom Hughes <tom@compton.nu>
Wed, 22 Apr 2020 11:22:34 +0000 (12:22 +0100)
committerTom Hughes <tom@compton.nu>
Wed, 22 Apr 2020 11:37:56 +0000 (12:37 +0100)
app/controllers/issues_controller.rb
test/controllers/issues_controller_test.rb

index d136e7230a4b7baf3ccd6eebfda383843598fdc2..cd3584f027536b00e067f04050d234893b68f921 100644 (file)
@@ -82,6 +82,6 @@ class IssuesController < ApplicationController
   def find_issue
     @issue = Issue.visible_to(current_user).find(params[:id])
   rescue ActiveRecord::RecordNotFound
-    head :not_found
+    redirect_to :controller => "errors", :action => "not_found"
   end
 end
index 1dd423a7afe84cd7ae69521fbb82885af29497c7..141c7b20d99678ebdc65e2d977a43cec2dabd96b 100644 (file)
@@ -42,7 +42,7 @@ class IssuesControllerTest < ActionController::TestCase
     # Access issue as administrator
     session[:user] = create(:administrator_user).id
     get :show, :params => { :id => issue.id }
-    assert_response :not_found
+    assert_redirected_to :controller => :errors, :action => :not_found
 
     # Access issue as moderator
     session[:user] = create(:moderator_user).id
@@ -68,7 +68,7 @@ class IssuesControllerTest < ActionController::TestCase
     # Access issue as moderator
     session[:user] = create(:moderator_user).id
     get :show, :params => { :id => issue.id }
-    assert_response :not_found
+    assert_redirected_to :controller => :errors, :action => :not_found
 
     # Access issue as administrator
     session[:user] = create(:administrator_user).id
@@ -94,7 +94,7 @@ class IssuesControllerTest < ActionController::TestCase
     # Resolve issue as administrator
     session[:user] = create(:administrator_user).id
     get :resolve, :params => { :id => issue.id }
-    assert_response :not_found
+    assert_redirected_to :controller => :errors, :action => :not_found
     assert_not issue.reload.resolved?
 
     # Resolve issue as moderator
@@ -122,7 +122,7 @@ class IssuesControllerTest < ActionController::TestCase
     # Resolve issue as moderator
     session[:user] = create(:moderator_user).id
     get :resolve, :params => { :id => issue.id }
-    assert_response :not_found
+    assert_redirected_to :controller => :errors, :action => :not_found
     assert_not issue.reload.resolved?
 
     # Resolve issue as administrator
@@ -150,7 +150,7 @@ class IssuesControllerTest < ActionController::TestCase
     # Ignore issue as administrator
     session[:user] = create(:administrator_user).id
     get :ignore, :params => { :id => issue.id }
-    assert_response :not_found
+    assert_redirected_to :controller => :errors, :action => :not_found
     assert_not issue.reload.ignored?
 
     # Ignore issue as moderator
@@ -178,7 +178,7 @@ class IssuesControllerTest < ActionController::TestCase
     # Ignore issue as moderator
     session[:user] = create(:moderator_user).id
     get :ignore, :params => { :id => issue.id }
-    assert_response :not_found
+    assert_redirected_to :controller => :errors, :action => :not_found
     assert_not issue.reload.ignored?
 
     # Ignore issue as administrator
@@ -208,7 +208,7 @@ class IssuesControllerTest < ActionController::TestCase
     # Reopen issue as administrator
     session[:user] = create(:administrator_user).id
     get :reopen, :params => { :id => issue.id }
-    assert_response :not_found
+    assert_redirected_to :controller => :errors, :action => :not_found
     assert_not issue.reload.open?
 
     # Reopen issue as moderator
@@ -238,7 +238,7 @@ class IssuesControllerTest < ActionController::TestCase
     # Reopen issue as moderator
     session[:user] = create(:moderator_user).id
     get :reopen, :params => { :id => issue.id }
-    assert_response :not_found
+    assert_redirected_to :controller => :errors, :action => :not_found
     assert_not issue.reload.open?
 
     # Reopen issue as administrator