X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/e7ddfe10846f89b5eeec4bf4f4dc03057a744009..HEAD:/test/system/issues_test.rb?ds=inline diff --git a/test/system/issues_test.rb b/test/system/issues_test.rb index b9b989c07..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 @@ -19,7 +19,7 @@ class IssuesTest < ApplicationSystemTestCase sign_in_as(create(:moderator_user)) visit issues_path - assert_content I18n.t("issues.index.issues_not_found") + assert_content I18n.t("issues.page.issues_not_found") end def test_view_issues @@ -81,22 +81,22 @@ class IssuesTest < ApplicationSystemTestCase visit issues_path fill_in "search_by_user", :with => good_user.display_name click_on "Search" - assert_no_content I18n.t("issues.index.user_not_found") - assert_content I18n.t("issues.index.issues_not_found") + assert_no_content I18n.t("issues.page.user_not_found") + assert_content I18n.t("issues.page.issues_not_found") # User doesn't exist visit issues_path fill_in "search_by_user", :with => "Nonexistent User" click_on "Search" - assert_content I18n.t("issues.index.user_not_found") - assert_content I18n.t("issues.index.issues_not_found") + assert_content I18n.t("issues.page.user_not_found") + assert_no_content I18n.t("issues.page.issues_not_found") # Find Issue against bad_user visit issues_path fill_in "search_by_user", :with => bad_user.display_name click_on "Search" - assert_no_content I18n.t("issues.index.user_not_found") - assert_no_content I18n.t("issues.index.issues_not_found") + assert_no_content I18n.t("issues.page.user_not_found") + assert_no_content I18n.t("issues.page.issues_not_found") end def test_commenting @@ -158,7 +158,94 @@ class IssuesTest < ApplicationSystemTestCase visit issues_path - assert_link I18n.t("issues.index.reports_count", :count => issue1.reports_count), :href => issue_path(issue1) - assert_link I18n.t("issues.index.reports_count", :count => issue2.reports_count), :href => issue_path(issue2) + assert_link I18n.t("issues.page.reports_count", :count => issue1.reports_count), :href => issue_path(issue1) + assert_link I18n.t("issues.page.reports_count", :count => issue2.reports_count), :href => issue_path(issue2) + end + + def test_issues_pagination + 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(:limit => 5) + + # First Page + assert_no_content I18n.t("issues.page.user_not_found") + assert_no_content I18n.t("issues.page.issues_not_found") + 4.upto(8).each do |n| + assert_content(/extra_#{n}[^\d]/i, :count => 2) + end + 1.upto(3).each do |n| + assert_no_content(/extra_#{n}[^\d]/i) + end + + # Second Page + click_on "Older Issues" + assert_no_content I18n.t("issues.page.user_not_found") + assert_no_content I18n.t("issues.page.issues_not_found") + 4.upto(8).each do |n| + assert_no_content(/extra_#{n}[^\d]/i) + end + 1.upto(3).each do |n| + assert_content(/extra_#{n}[^\d]/i, :count => 2) + end + + # Back to First Page + click_on "Newer Issues" + assert_no_content I18n.t("issues.page.user_not_found") + assert_no_content I18n.t("issues.page.issues_not_found") + 4.upto(8).each do |n| + assert_content(/extra_#{n}[^\d]/i, :count => 2) + end + 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