X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/52a28fbae807e54c4b02bf0026f028933381055d..fe4af49d06d20e7b5e980be7ac3d73cba0de3136:/test/system/issues_test.rb diff --git a/test/system/issues_test.rb b/test/system/issues_test.rb index f00f766a2..a961ea80f 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 @@ -163,45 +163,89 @@ class IssuesTest < ApplicationSystemTestCase end def test_issues_pagination - 1.upto(80).each do |n| + 1.upto(8).each do |n| user = create(:user, :display_name => "extra_#{n}") create(:issue, :reportable => user, :reported_user => user, :assigned_role => "administrator") end sign_in_as(create(:administrator_user)) - visit issues_path + visit issues_path(:limit => 5) # First Page assert_no_content I18n.t("issues.page.user_not_found") assert_no_content I18n.t("issues.page.issues_not_found") - 31.upto(80).each do |n| + 4.upto(8).each do |n| assert_content(/extra_#{n}[^\d]/i, :count => 2) end - 1.upto(30).each do |n| + 1.upto(3).each do |n| assert_no_content(/extra_#{n}[^\d]/i) end # Second Page - click_on I18n.t("issues.page.older_issues") + click_on "Older Issues" assert_no_content I18n.t("issues.page.user_not_found") assert_no_content I18n.t("issues.page.issues_not_found") - 31.upto(80).each do |n| + 4.upto(8).each do |n| assert_no_content(/extra_#{n}[^\d]/i) end - 1.upto(30).each do |n| + 1.upto(3).each do |n| assert_content(/extra_#{n}[^\d]/i, :count => 2) end # Back to First Page - click_on I18n.t("issues.page.newer_issues") + click_on "Newer Issues" assert_no_content I18n.t("issues.page.user_not_found") assert_no_content I18n.t("issues.page.issues_not_found") - 31.upto(80).each do |n| + 4.upto(8).each do |n| assert_content(/extra_#{n}[^\d]/i, :count => 2) end - 1.upto(30).each do |n| + 1.upto(3).each do |n| 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