]> git.openstreetmap.org Git - rails.git/blobdiff - test/system/report_user_test.rb
Merge remote-tracking branch 'upstream/pull/4927'
[rails.git] / test / system / report_user_test.rb
index dc6c511753af073555fd1a2458363508f652ce30..7a9e800c8c0da99ebf7351d6a863d9c8cec8ba7a 100644 (file)
@@ -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