X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/3115fd41b178e76bd1932ffb2c051407a4020e8e..de3ddafcd23753fd8055b03ecfe1cc4b11aacf83:/test/system/report_diary_entry_test.rb diff --git a/test/system/report_diary_entry_test.rb b/test/system/report_diary_entry_test.rb index 36cd36030..9d232f8d4 100644 --- a/test/system/report_diary_entry_test.rb +++ b/test/system/report_diary_entry_test.rb @@ -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_not page.has_content?(I18n.t("diary_entries.diary_entry.report")) end def test_it_works @@ -18,14 +18,48 @@ 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_entries.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_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_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 page.has_content? @diary_entry.title + + click_on I18n.t("diary_entries.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_label") + fill_in "report_details", :with => "This is advertising" + assert_no_difference "Issue.count" do + click_on "Create Report" + end + + issue.reload + assert_not 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