Assign vandalism reports for users to moderators
[rails.git] / test / system / report_user_test.rb
index 758c91eda16e6e2668fb5b050b5eb7f4c50bc93b..99533353b1252e095f1c7628a8249a778af99301 100644 (file)
@@ -18,7 +18,7 @@ class ReportUserTest < ApplicationSystemTestCase
     assert page.has_content? "Report"
     assert page.has_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"
@@ -27,5 +27,44 @@ class ReportUserTest < ApplicationSystemTestCase
     assert page.has_content? "Your report has been registered sucessfully"
 
     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.display_name)
+
+    click_on I18n.t("user.view.report")
+    assert page.has_content? "Report"
+    assert page.has_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 page.has_content? "Your report has been registered sucessfully"
+
+    assert_equal user, Issue.last.reportable
+    assert_equal "moderator", Issue.last.assigned_role
+
+    visit user_path(user.display_name)
+
+    click_on I18n.t("user.view.report")
+    assert page.has_content? "Report"
+    assert page.has_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 page.has_content? "Your report has been registered sucessfully"
+
+    assert_equal user, Issue.last.reportable
+    assert_equal "administrator", Issue.last.assigned_role
   end
 end