]> git.openstreetmap.org Git - rails.git/blob - test/system/report_diary_entry_test.rb
Improve controller tests for issues
[rails.git] / test / system / report_diary_entry_test.rb
1 require "application_system_test_case"
2
3 class ReportDiaryEntryTest < ApplicationSystemTestCase
4   def setup
5     create(:language, :code => "en")
6     @diary_entry = create(:diary_entry)
7   end
8
9   def test_no_link_when_not_logged_in
10     visit diary_entry_path(@diary_entry.user.display_name, @diary_entry)
11     assert page.has_content?(@diary_entry.title)
12
13     assert_not page.has_content?(I18n.t("diary_entry.diary_entry.report"))
14   end
15
16   def test_it_works
17     sign_in_as(create(:user))
18     visit diary_entry_path(@diary_entry.user.display_name, @diary_entry)
19     assert page.has_content? @diary_entry.title
20
21     click_on I18n.t("diary_entry.diary_entry.report")
22     assert page.has_content? "Report"
23     assert page.has_content? I18n.t("reports.new.disclaimer.intro")
24
25     choose I18n.t("reports.new.categories.diary_entry.spam")
26     fill_in "report_details", :with => "This is advertising"
27     click_on "Create Report"
28
29     assert page.has_content? "Your report has been registered sucessfully"
30   end
31
32   def test_it_reopens_issue
33     issue = create(:issue, :reportable => @diary_entry)
34     issue.resolve!
35
36     sign_in_as(create(:user))
37     visit diary_entry_path(@diary_entry.user.display_name, @diary_entry)
38     assert page.has_content? @diary_entry.title
39
40     click_on I18n.t("diary_entry.diary_entry.report")
41     assert page.has_content? "Report"
42     assert page.has_content? I18n.t("reports.new.disclaimer.intro")
43
44     choose I18n.t("reports.new.categories.diary_entry.spam")
45     fill_in "report_details", :with => "This is advertising"
46     click_on "Create Report"
47
48     issue.reload
49     assert_not issue.resolved?
50     assert issue.open?
51   end
52
53   def test_missing_report_params
54     sign_in_as(create(:user))
55     visit new_report_path
56     assert page.has_content? I18n.t("reports.new.missing_params")
57   end
58 end