]> git.openstreetmap.org Git - rails.git/blobdiff - test/system/report_diary_entry_test.rb
Use lazy lookups for translations in issues
[rails.git] / test / system / report_diary_entry_test.rb
index 36cd3603053de80f392d2b92d9d352a3ccc078bc..86d301e3c5edfca2a157e0f15a742bbdc0148fae 100644 (file)
@@ -6,11 +6,11 @@ class ReportDiaryEntryTest < ApplicationSystemTestCase
     @diary_entry = create(:diary_entry)
   end
 
-  def test_no_flag_when_not_logged_in
+  def test_no_link_when_not_logged_in
     visit diary_entry_path(@diary_entry.user.display_name, @diary_entry)
     assert page.has_content?(@diary_entry.title)
 
-    assert !page.has_content?("\u2690")
+    assert !page.has_content?(I18n.t("diary_entry.diary_entry.report"))
   end
 
   def test_it_works
@@ -18,14 +18,41 @@ class ReportDiaryEntryTest < ApplicationSystemTestCase
     visit diary_entry_path(@diary_entry.user.display_name, @diary_entry)
     assert page.has_content? @diary_entry.title
 
-    click_on "\u2690"
+    click_on I18n.t("diary_entry.diary_entry.report")
     assert page.has_content? "Report"
-    assert page.has_content? I18n.t("issues.new.disclaimer.intro")
+    assert page.has_content? I18n.t("reports.new.disclaimer.intro")
 
-    choose "report_type__SPAM" # FIXME: use label text when the radio button labels are working
+    choose I18n.t("reports.new.categories.diary_entry.spam")
     fill_in "report_details", :with => "This is advertising"
-    click_on "Save changes"
+    click_on "Create Report"
 
     assert page.has_content? "Your report has been registered sucessfully"
   end
+
+  def test_it_reopens_issue
+    issue = create(:issue, :reportable => @diary_entry)
+    issue.resolve!
+
+    sign_in_as(create(:user))
+    visit diary_entry_path(@diary_entry.user.display_name, @diary_entry)
+    assert page.has_content? @diary_entry.title
+
+    click_on I18n.t("diary_entry.diary_entry.report")
+    assert page.has_content? "Report"
+    assert page.has_content? I18n.t("reports.new.disclaimer.intro")
+
+    choose I18n.t("reports.new.categories.diary_entry.spam")
+    fill_in "report_details", :with => "This is advertising"
+    click_on "Create Report"
+
+    issue.reload
+    assert !issue.resolved?
+    assert issue.open?
+  end
+
+  def test_missing_report_params
+    sign_in_as(create(:user))
+    visit new_report_path
+    assert page.has_content? I18n.t("reports.new.missing_params")
+  end
 end