]> git.openstreetmap.org Git - rails.git/commitdiff
Reopen issues if necessary when creating a report.
authorAndy Allan <git@gravitystorm.co.uk>
Sun, 21 Jan 2018 11:18:24 +0000 (11:18 +0000)
committerAndy Allan <git@gravitystorm.co.uk>
Sun, 21 Jan 2018 11:18:24 +0000 (11:18 +0000)
app/controllers/reports_controller.rb
test/system/report_diary_entry_test.rb

index b5740d146bf9557e390465026d8615b79a425445..5d0442731733453d845790cc362ac8d9b2bfe15e 100644 (file)
@@ -17,7 +17,7 @@ class ReportsController < ApplicationController
 
     if @report.save
       @report.issue.save
-      # FIXME: reopen issue if necessary
+      @report.issue.reopen! unless @report.issue.open?
       redirect_to root_path, :notice => t("issues.create.successful_report")
     else
       redirect_to new_report_path(:reportable_type => @report.issue.reportable_type, :reportable_id => @report.issue.reportable_id), :notice => t("issues.create.provide_details")
index bf8d82986590e0bb3c4f14f48928e59093ebd75a..542e8ba0c8e6bec68b436fcc17bde7b0d984ab01 100644 (file)
@@ -28,4 +28,25 @@ class ReportDiaryEntryTest < ApplicationSystemTestCase
 
     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 "\u2690"
+    assert page.has_content? "Report"
+    assert page.has_content? I18n.t("issues.new.disclaimer.intro")
+
+    choose I18n.t("reports.categories.DiaryEntry.spam")
+    fill_in "report_details", :with => "This is advertising"
+    click_on "Save changes"
+
+    issue.reload
+    assert !issue.resolved?
+    assert issue.open?
+  end
 end