1 # frozen_string_literal: true
3 require "application_system_test_case"
5 class ReportUserTest < ApplicationSystemTestCase
6 def test_no_link_when_not_logged_in
7 note = create(:note_with_comments)
9 assert_content note.description
11 assert_no_content I18n.t("users.show.report")
14 def test_can_report_user
16 sign_in_as(create(:user))
19 click_on I18n.t("users.show.report")
20 assert_content "Report"
21 assert_content I18n.t("reports.new.disclaimer.intro")
23 choose I18n.t("reports.new.categories.user.vandal_label")
24 fill_in "report_details", :with => "This user is a vandal"
25 assert_difference "Issue.count", 1 do
26 click_on "Create Report"
29 assert_content "Your report has been registered successfully"
31 assert_equal user, Issue.last.reportable
32 assert_equal "moderator", Issue.last.assigned_role
35 def test_it_promotes_issues
37 sign_in_as(create(:user))
40 click_on I18n.t("users.show.report")
41 assert_content "Report"
42 assert_content I18n.t("reports.new.disclaimer.intro")
44 choose I18n.t("reports.new.categories.user.vandal_label")
45 fill_in "report_details", :with => "This user is a vandal"
46 assert_difference "Issue.count", 1 do
47 click_on "Create Report"
50 assert_content "Your report has been registered successfully"
52 assert_equal user, Issue.last.reportable
53 assert_equal "moderator", Issue.last.assigned_role
57 click_on I18n.t("users.show.report")
58 assert_content "Report"
59 assert_content I18n.t("reports.new.disclaimer.intro")
61 choose I18n.t("reports.new.categories.user.spam_label")
62 fill_in "report_details", :with => "This user is a spammer"
63 assert_no_difference "Issue.count" do
64 click_on "Create Report"
67 assert_content "Your report has been registered successfully"
69 assert_equal user, Issue.last.reportable
70 assert_equal "administrator", Issue.last.assigned_role