X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/6595d43e3cda580508a069e174d0059febcdc6ea..98af87d1cbe59650bf4880c2e5d46a34230dc11e:/test/system/issues_test.rb diff --git a/test/system/issues_test.rb b/test/system/issues_test.rb index eae3322ff..e26ae89ac 100644 --- a/test/system/issues_test.rb +++ b/test/system/issues_test.rb @@ -5,7 +5,7 @@ class IssuesTest < ApplicationSystemTestCase def test_view_issues_not_logged_in visit issues_path - assert_content I18n.t("sessions.new.title") + assert_content "Log in" end def test_view_issues_normal_user @@ -114,15 +114,15 @@ class IssuesTest < ApplicationSystemTestCase assert_equal("test comment", issue.comments.first.body) end - def test_reassign_issue - issue = create(:issue) - assert_equal "administrator", issue.assigned_role + def test_reassign_issue_to_moderators + issue = create(:issue, :assigned_role => "administrator") sign_in_as(create(:administrator_user)) visit issue_path(issue) + assert_unchecked_field "Reassign Issue to Moderators" fill_in :issue_comment_body, :with => "reassigning to moderators" - check :reassign + check "Reassign Issue to Moderators" click_on "Add Comment" assert_content "and the issue was reassigned" @@ -132,6 +132,24 @@ class IssuesTest < ApplicationSystemTestCase assert_equal "moderator", issue.assigned_role end + def test_reassign_issue_to_administrators + issue = create(:issue, :assigned_role => "moderator") + sign_in_as(create(:moderator_user)) + + visit issue_path(issue) + + assert_unchecked_field "Reassign Issue to Administrators" + fill_in :issue_comment_body, :with => "reassigning to administrators" + check "Reassign Issue to Administrators" + click_on "Add Comment" + + assert_content "and the issue was reassigned" + assert_current_path issues_path(:status => "open") + + issue.reload + assert_equal "administrator", issue.assigned_role + end + def test_reassign_issue_as_super_user issue = create(:issue) sign_in_as(create(:super_user)) @@ -139,7 +157,7 @@ class IssuesTest < ApplicationSystemTestCase visit issue_path(issue) fill_in :issue_comment_body, :with => "reassigning to moderators" - check :reassign + check "Reassign Issue to Moderators" click_on "Add Comment" assert_content "and the issue was reassigned" @@ -204,4 +222,48 @@ class IssuesTest < ApplicationSystemTestCase assert_no_content(/extra_#{n}[^\d]/i) end end + + def test_single_issue_reporters + sign_in_as(create(:moderator_user)) + issue = create(:issue, :assigned_role => "moderator") + issue.reports << create(:report, :user => create(:user, :display_name => "Test Name")) + + visit issues_path + assert_content issue.reported_user.display_name + assert_content issue.reports.first.user.display_name + end + + def test_multiple_issue_reporters + sign_in_as(create(:moderator_user)) + issue = create(:issue, :assigned_role => "moderator") + + create_list(:report, 5, :issue => issue) + + visit issues_path + 0.upto(1).each do |n| + assert_no_content issue.reports[n].user.display_name + end + 2.upto(4).each do |n| + assert_content issue.reports[n].user.display_name + end + end + + def test_ordering_issue_reporters + sign_in_as(create(:moderator_user)) + issue = create(:issue, :assigned_role => "moderator") + + create_list(:report, 5, :issue => issue) + + 4.downto(0).each do |n| + issue.reports << create(:report, :user => issue.reports[n].user) + end + + visit issues_path + 0.upto(2).each do |n| + assert_content issue.reports[n].user.display_name + end + 3.upto(4).each do |n| + assert_no_content issue.reports[n].user.display_name + end + end end