X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/3115fd41b178e76bd1932ffb2c051407a4020e8e..57209683238197d4391103ba3ca4b295a70fbb0a:/test/system/report_diary_entry_test.rb?ds=sidebyside diff --git a/test/system/report_diary_entry_test.rb b/test/system/report_diary_entry_test.rb index 36cd36030..dde06cffc 100644 --- a/test/system/report_diary_entry_test.rb +++ b/test/system/report_diary_entry_test.rb @@ -6,26 +6,60 @@ 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_content @diary_entry.title - assert !page.has_content?("\u2690") + 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 "\u2690" - assert page.has_content? "Report" - assert page.has_content? I18n.t("issues.new.disclaimer.intro") + click_on I18n.t("diary_entries.diary_entry.report") + assert_content "Report" + assert_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_label") fill_in "report_details", :with => "This is advertising" - click_on "Save changes" + assert_difference "Issue.count", 1 do + click_on "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 + 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_content @diary_entry.title + + click_on 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_label") + fill_in "report_details", :with => "This is advertising" + assert_no_difference "Issue.count" do + click_on "Create Report" + end + + issue.reload + assert_not_predicate issue, :resolved? + assert_predicate issue, :open? + end + + def test_missing_report_params + sign_in_as(create(:user)) + visit new_report_path + assert_content I18n.t("reports.new.missing_params") end end