1 # frozen_string_literal: true
3 require "application_system_test_case"
5 class ReportDiaryEntryTest < ApplicationSystemTestCase
7 create(:language, :code => "en")
8 @diary_entry = create(:diary_entry)
11 def test_no_link_when_not_logged_in
12 visit diary_entry_path(@diary_entry.user, @diary_entry)
13 assert_content @diary_entry.title
15 assert_no_content I18n.t("diary_entries.diary_entry.report")
19 sign_in_as(create(:user))
20 visit diary_entry_path(@diary_entry.user, @diary_entry)
21 assert_content @diary_entry.title
23 click_on I18n.t("diary_entries.diary_entry.report")
24 assert_content "Report"
25 assert_content I18n.t("reports.new.disclaimer.intro")
27 choose I18n.t("reports.new.categories.diary_entry.spam_label")
28 fill_in "report_details", :with => "This is advertising"
29 assert_difference "Issue.count", 1 do
30 click_on "Create Report"
33 assert_content "Your report has been registered successfully"
35 assert_equal @diary_entry, Issue.last.reportable
36 assert_equal "administrator", Issue.last.assigned_role
39 def test_it_reopens_issue
40 issue = create(:issue, :reportable => @diary_entry)
43 sign_in_as(create(:user))
44 visit diary_entry_path(@diary_entry.user, @diary_entry)
45 assert_content @diary_entry.title
47 click_on I18n.t("diary_entries.diary_entry.report")
48 assert_content "Report"
49 assert_content I18n.t("reports.new.disclaimer.intro")
51 choose I18n.t("reports.new.categories.diary_entry.spam_label")
52 fill_in "report_details", :with => "This is advertising"
53 assert_no_difference "Issue.count" do
54 click_on "Create Report"
58 assert_not_predicate issue, :resolved?
59 assert_predicate issue, :open?