X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/29f12c454799ed62745803f2d8423d9c59ed1a93..c6bb4a5f4eadc46bac599cd6a5174b199c1b6026:/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 758c91eda..9a0abe9ea 100644 --- a/test/system/report_user_test.rb +++ b/test/system/report_user_test.rb @@ -3,29 +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_not 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("reports.new.disclaimer.intro") + click_link I18n.t("users.show.report") + assert_content "Report" + assert_content I18n.t("reports.new.disclaimer.intro") - choose I18n.t("reports.new.categories.user.vandal") + 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" + click_button "Create Report" end - assert page.has_content? "Your report has been registered sucessfully" + assert_content "Your report has been registered successfully" 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_link 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_button "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_link 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_button "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