X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/d3700e6201b4b78a70bbb2941572edc985b63c2c..e8af4b85bf001ade543d03a503c769055d42e6a2:/test/system/report_user_test.rb diff --git a/test/system/report_user_test.rb b/test/system/report_user_test.rb index 8bb7d9dd7..9a0abe9ea 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_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" - click_on "Create Report" + assert_difference "Issue.count", 1 do + 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 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_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