]> git.openstreetmap.org Git - rails.git/blobdiff - test/system/report_diary_entry_test.rb
Merge pull request #4300 from tomhughes/relation-members-primary-key
[rails.git] / test / system / report_diary_entry_test.rb
index 15752777c5517f193afdcaee27a0d4fc3fa9e1d5..d4e49b714ffd32b9e2d4077926863eae7fc41efc 100644 (file)
@@ -8,25 +8,30 @@ class ReportDiaryEntryTest < ApplicationSystemTestCase
 
   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_content @diary_entry.title
 
-    assert_not page.has_content?(I18n.t("diary_entry.diary_entry.report"))
+    assert_no_content I18n.t("diary_entries.diary_entry.report")
   end
 
   def test_it_works
     sign_in_as(create(:user))
     visit diary_entry_path(@diary_entry.user.display_name, @diary_entry)
-    assert page.has_content? @diary_entry.title
+    assert_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")
+    click_link I18n.t("diary_entries.diary_entry.report")
+    assert_content "Report"
+    assert_content I18n.t("reports.new.disclaimer.intro")
 
-    choose I18n.t("reports.new.categories.diary_entry.spam")
+    choose I18n.t("reports.new.categories.diary_entry.spam_label")
     fill_in "report_details", :with => "This is advertising"
-    click_on "Create Report"
+    assert_difference "Issue.count", 1 do
+      click_button "Create Report"
+    end
 
-    assert page.has_content? "Your report has been registered sucessfully"
+    assert_content "Your report has been registered successfully"
+
+    assert_equal @diary_entry, Issue.last.reportable
+    assert_equal "administrator", Issue.last.assigned_role
   end
 
   def test_it_reopens_issue
@@ -35,24 +40,26 @@ class ReportDiaryEntryTest < ApplicationSystemTestCase
 
     sign_in_as(create(:user))
     visit diary_entry_path(@diary_entry.user.display_name, @diary_entry)
-    assert page.has_content? @diary_entry.title
+    assert_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")
+    click_link I18n.t("diary_entries.diary_entry.report")
+    assert_content "Report"
+    assert_content I18n.t("reports.new.disclaimer.intro")
 
-    choose I18n.t("reports.new.categories.diary_entry.spam")
+    choose I18n.t("reports.new.categories.diary_entry.spam_label")
     fill_in "report_details", :with => "This is advertising"
-    click_on "Create Report"
+    assert_no_difference "Issue.count" do
+      click_button "Create Report"
+    end
 
     issue.reload
     assert_not issue.resolved?
-    assert issue.open?
+    assert_predicate 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")
+    assert_content I18n.t("reports.new.missing_params")
   end
 end