]> git.openstreetmap.org Git - rails.git/blob - test/controllers/issues/reporters_controller_test.rb
Add frozen_string_literal comments to ruby files
[rails.git] / test / controllers / issues / reporters_controller_test.rb
1 # frozen_string_literal: true
2
3 require "test_helper"
4
5 module Issues
6   class DataControllerTest < ActionDispatch::IntegrationTest
7     ##
8     # test all routes which lead to this controller
9     def test_routes
10       assert_routing(
11         { :path => "/issues/1/reporters", :method => :get },
12         { :controller => "issues/reporters", :action => "index", :issue_id => "1" }
13       )
14     end
15
16     def test_index_missing_issue_as_moderator
17       session_for(create(:moderator_user))
18       get issue_reporters_path(999111)
19
20       assert_redirected_to :controller => "/errors", :action => :not_found
21     end
22
23     def test_index_missing_issue_as_administrator
24       session_for(create(:administrator_user))
25       get issue_reporters_path(999111)
26
27       assert_redirected_to :controller => "/errors", :action => :not_found
28     end
29
30     def test_index_assigned_to_moderator_as_unauthorized
31       issue = create(:issue, :assigned_role => "moderator")
32
33       get issue_reporters_path(issue)
34
35       assert_redirected_to login_path(:referer => issue_reporters_path(issue))
36     end
37
38     def test_index_assigned_to_moderator_as_regular_user
39       issue = create(:issue, :assigned_role => "moderator")
40
41       session_for(create(:user))
42       get issue_reporters_path(issue)
43
44       assert_redirected_to :controller => "/errors", :action => :forbidden
45     end
46
47     def test_index_assigned_to_moderator_as_administrator
48       issue = create(:issue, :assigned_role => "moderator")
49
50       session_for(create(:administrator_user))
51       get issue_reporters_path(issue)
52
53       assert_redirected_to :controller => "/errors", :action => :not_found
54     end
55
56     def test_index_assigned_to_moderator_as_moderator
57       issue = create(:issue, :assigned_role => "moderator")
58
59       session_for(create(:moderator_user))
60       get issue_reporters_path(issue)
61
62       assert_response :success
63     end
64
65     def test_index_assigned_to_administrator_as_unauthorized
66       issue = create(:issue, :assigned_role => "administrator")
67
68       get issue_reporters_path(issue)
69
70       assert_redirected_to login_path(:referer => issue_reporters_path(issue))
71     end
72
73     def test_index_assigned_to_administrator_as_regular_user
74       issue = create(:issue, :assigned_role => "administrator")
75
76       session_for(create(:user))
77       get issue_reporters_path(issue)
78
79       assert_redirected_to :controller => "/errors", :action => :forbidden
80     end
81
82     def test_index_assigned_to_administrator_as_moderator
83       issue = create(:issue, :assigned_role => "administrator")
84
85       session_for(create(:moderator_user))
86       get issue_reporters_path(issue)
87
88       assert_redirected_to :controller => "/errors", :action => :not_found
89     end
90
91     def test_index_assigned_to_administrator_as_administrator
92       issue = create(:issue, :assigned_role => "administrator")
93
94       session_for(create(:administrator_user))
95       get issue_reporters_path(issue)
96
97       assert_response :success
98     end
99   end
100 end