]> git.openstreetmap.org Git - rails.git/blob - test/system/report_user_test.rb
Merge remote-tracking branch 'upstream/pull/2413'
[rails.git] / test / system / report_user_test.rb
1 require "application_system_test_case"
2
3 class ReportUserTest < ApplicationSystemTestCase
4   def test_no_link_when_not_logged_in
5     note = create(:note_with_comments)
6     visit browse_note_path(note)
7     assert page.has_content?(note.comments.first.body)
8
9     assert_not page.has_content?(I18n.t("users.show.report"))
10   end
11
12   def test_can_report_user
13     user = create(:user)
14     sign_in_as(create(:user))
15     visit user_path(user)
16
17     click_on I18n.t("users.show.report")
18     assert page.has_content? "Report"
19     assert page.has_content? I18n.t("reports.new.disclaimer.intro")
20
21     choose I18n.t("reports.new.categories.user.vandal_label")
22     fill_in "report_details", :with => "This user is a vandal"
23     assert_difference "Issue.count", 1 do
24       click_on "Create Report"
25     end
26
27     assert page.has_content? "Your report has been registered sucessfully"
28
29     assert_equal user, Issue.last.reportable
30     assert_equal "moderator", Issue.last.assigned_role
31   end
32
33   def test_it_promotes_issues
34     user = create(:user)
35     sign_in_as(create(:user))
36     visit user_path(user)
37
38     click_on I18n.t("users.show.report")
39     assert page.has_content? "Report"
40     assert page.has_content? I18n.t("reports.new.disclaimer.intro")
41
42     choose I18n.t("reports.new.categories.user.vandal_label")
43     fill_in "report_details", :with => "This user is a vandal"
44     assert_difference "Issue.count", 1 do
45       click_on "Create Report"
46     end
47
48     assert page.has_content? "Your report has been registered sucessfully"
49
50     assert_equal user, Issue.last.reportable
51     assert_equal "moderator", Issue.last.assigned_role
52
53     visit user_path(user)
54
55     click_on I18n.t("users.show.report")
56     assert page.has_content? "Report"
57     assert page.has_content? I18n.t("reports.new.disclaimer.intro")
58
59     choose I18n.t("reports.new.categories.user.spam_label")
60     fill_in "report_details", :with => "This user is a spammer"
61     assert_no_difference "Issue.count" do
62       click_on "Create Report"
63     end
64
65     assert page.has_content? "Your report has been registered sucessfully"
66
67     assert_equal user, Issue.last.reportable
68     assert_equal "administrator", Issue.last.assigned_role
69   end
70 end