]> git.openstreetmap.org Git - rails.git/blob - test/system/report_diary_entry_test.rb
Update model annotations
[rails.git] / test / system / report_diary_entry_test.rb
1 # frozen_string_literal: true
2
3 require "application_system_test_case"
4
5 class ReportDiaryEntryTest < ApplicationSystemTestCase
6   def setup
7     @diary_entry = create(:diary_entry)
8   end
9
10   def test_no_link_when_not_logged_in
11     visit diary_entry_path(@diary_entry.user, @diary_entry)
12     assert_content @diary_entry.title
13
14     assert_no_content I18n.t("diary_entries.diary_entry.report")
15   end
16
17   def test_it_works
18     sign_in_as(create(:user))
19     visit diary_entry_path(@diary_entry.user, @diary_entry)
20     assert_content @diary_entry.title
21
22     click_on I18n.t("diary_entries.diary_entry.report")
23     assert_content "Report"
24     assert_content I18n.t("reports.new.disclaimer.intro")
25
26     choose I18n.t("reports.new.categories.diary_entry.spam_label")
27     fill_in "report_details", :with => "This is advertising"
28     assert_difference "Issue.count", 1 do
29       click_on "Create Report"
30     end
31
32     assert_content "Your report has been registered successfully"
33
34     assert_equal @diary_entry, Issue.last.reportable
35     assert_equal "administrator", Issue.last.assigned_role
36   end
37
38   def test_it_reopens_issue
39     issue = create(:issue, :reportable => @diary_entry)
40     issue.resolve!
41
42     sign_in_as(create(:user))
43     visit diary_entry_path(@diary_entry.user, @diary_entry)
44     assert_content @diary_entry.title
45
46     click_on I18n.t("diary_entries.diary_entry.report")
47     assert_content "Report"
48     assert_content I18n.t("reports.new.disclaimer.intro")
49
50     choose I18n.t("reports.new.categories.diary_entry.spam_label")
51     fill_in "report_details", :with => "This is advertising"
52     assert_no_difference "Issue.count" do
53       click_on "Create Report"
54     end
55
56     issue.reload
57     assert_not_predicate issue, :resolved?
58     assert_predicate issue, :open?
59   end
60 end