From: Andy Allan Date: Sun, 21 Jan 2018 11:18:24 +0000 (+0000) Subject: Reopen issues if necessary when creating a report. X-Git-Tag: live~2996^2~61 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/3a386f185c954d71a9b5d0747d017f99c8ccb6ff Reopen issues if necessary when creating a report. --- diff --git a/app/controllers/reports_controller.rb b/app/controllers/reports_controller.rb index b5740d146..5d0442731 100644 --- a/app/controllers/reports_controller.rb +++ b/app/controllers/reports_controller.rb @@ -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") diff --git a/test/system/report_diary_entry_test.rb b/test/system/report_diary_entry_test.rb index bf8d82986..542e8ba0c 100644 --- a/test/system/report_diary_entry_test.rb +++ b/test/system/report_diary_entry_test.rb @@ -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