4 class DataControllerTest < ActionDispatch::IntegrationTest
6 # test all routes which lead to this controller
9 { :path => "/issues/1/reporters", :method => :get },
10 { :controller => "issues/reporters", :action => "index", :issue_id => "1" }
14 def test_index_missing_issue_as_moderator
15 session_for(create(:moderator_user))
16 get issue_reporters_path(999111)
18 assert_redirected_to :controller => "/errors", :action => :not_found
21 def test_index_missing_issue_as_administrator
22 session_for(create(:administrator_user))
23 get issue_reporters_path(999111)
25 assert_redirected_to :controller => "/errors", :action => :not_found
28 def test_index_assigned_to_moderator_as_unauthorized
29 issue = create(:issue, :assigned_role => "moderator")
31 get issue_reporters_path(issue)
33 assert_redirected_to login_path(:referer => issue_reporters_path(issue))
36 def test_index_assigned_to_moderator_as_regular_user
37 issue = create(:issue, :assigned_role => "moderator")
39 session_for(create(:user))
40 get issue_reporters_path(issue)
42 assert_redirected_to :controller => "/errors", :action => :forbidden
45 def test_index_assigned_to_moderator_as_administrator
46 issue = create(:issue, :assigned_role => "moderator")
48 session_for(create(:administrator_user))
49 get issue_reporters_path(issue)
51 assert_redirected_to :controller => "/errors", :action => :not_found
54 def test_index_assigned_to_moderator_as_moderator
55 issue = create(:issue, :assigned_role => "moderator")
57 session_for(create(:moderator_user))
58 get issue_reporters_path(issue)
60 assert_response :success
63 def test_index_assigned_to_administrator_as_unauthorized
64 issue = create(:issue, :assigned_role => "administrator")
66 get issue_reporters_path(issue)
68 assert_redirected_to login_path(:referer => issue_reporters_path(issue))
71 def test_index_assigned_to_administrator_as_regular_user
72 issue = create(:issue, :assigned_role => "administrator")
74 session_for(create(:user))
75 get issue_reporters_path(issue)
77 assert_redirected_to :controller => "/errors", :action => :forbidden
80 def test_index_assigned_to_administrator_as_moderator
81 issue = create(:issue, :assigned_role => "administrator")
83 session_for(create(:moderator_user))
84 get issue_reporters_path(issue)
86 assert_redirected_to :controller => "/errors", :action => :not_found
89 def test_index_assigned_to_administrator_as_administrator
90 issue = create(:issue, :assigned_role => "administrator")
92 session_for(create(:administrator_user))
93 get issue_reporters_path(issue)
95 assert_response :success