X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/7dbf8d83369cb73929080c4ba23fdd7dcd0184df..bad03267c13c82dbe33a64410fbf0fc9356f4fbf:/test/system/report_user_test.rb?ds=sidebyside diff --git a/test/system/report_user_test.rb b/test/system/report_user_test.rb index dc6c51175..7a9e800c8 100644 --- a/test/system/report_user_test.rb +++ b/test/system/report_user_test.rb @@ -3,28 +3,68 @@ require "application_system_test_case" class ReportUserTest < ApplicationSystemTestCase def test_no_link_when_not_logged_in note = create(:note_with_comments) - visit browse_note_path(note) - assert page.has_content?(note.comments.first.body) + visit note_path(note) + assert_content note.comments.first.body - assert !page.has_content?(I18n.t("user.view.report")) + assert_no_content I18n.t("users.show.report") end def test_can_report_user user = create(:user) sign_in_as(create(:user)) - visit user_path(user.display_name) + visit user_path(user) - click_on I18n.t("user.view.report") - assert page.has_content? "Report" - assert page.has_content? I18n.t("issues.new.disclaimer.intro") + click_on I18n.t("users.show.report") + assert_content "Report" + assert_content I18n.t("reports.new.disclaimer.intro") - choose I18n.t("reports.categories.user.vandal") + choose I18n.t("reports.new.categories.user.vandal_label") fill_in "report_details", :with => "This user is a vandal" - click_on "Create Report" + assert_difference "Issue.count", 1 do + click_on "Create Report" + end - assert page.has_content? "Your report has been registered sucessfully" + assert_content "Your report has been registered successfully" - assert_equal 1, Issue.count - assert Issue.last.reportable == user + assert_equal user, Issue.last.reportable + assert_equal "moderator", Issue.last.assigned_role + end + + def test_it_promotes_issues + user = create(:user) + sign_in_as(create(:user)) + visit user_path(user) + + click_on I18n.t("users.show.report") + assert_content "Report" + assert_content I18n.t("reports.new.disclaimer.intro") + + choose I18n.t("reports.new.categories.user.vandal_label") + fill_in "report_details", :with => "This user is a vandal" + assert_difference "Issue.count", 1 do + click_on "Create Report" + end + + assert_content "Your report has been registered successfully" + + assert_equal user, Issue.last.reportable + assert_equal "moderator", Issue.last.assigned_role + + visit user_path(user) + + click_on I18n.t("users.show.report") + assert_content "Report" + assert_content I18n.t("reports.new.disclaimer.intro") + + choose I18n.t("reports.new.categories.user.spam_label") + fill_in "report_details", :with => "This user is a spammer" + assert_no_difference "Issue.count" do + click_on "Create Report" + end + + assert_content "Your report has been registered successfully" + + assert_equal user, Issue.last.reportable + assert_equal "administrator", Issue.last.assigned_role end end