Added unit tests for new Note methods and updated system tests to use description instead of first comment's body.
53 lines
1.5 KiB
Ruby
53 lines
1.5 KiB
Ruby
require "application_system_test_case"
|
|
|
|
class ReportNoteTest < ApplicationSystemTestCase
|
|
def test_no_link_when_not_logged_in
|
|
note = create(:note_with_comments)
|
|
visit note_path(note)
|
|
assert_content note.description
|
|
|
|
assert_no_content I18n.t("notes.show.report")
|
|
end
|
|
|
|
def test_can_report_anonymous_notes
|
|
note = create(:note_with_comments)
|
|
sign_in_as(create(:user))
|
|
visit note_path(note)
|
|
|
|
click_on I18n.t("notes.show.report")
|
|
assert_content "Report"
|
|
assert_content I18n.t("reports.new.disclaimer.intro")
|
|
|
|
choose I18n.t("reports.new.categories.note.spam_label")
|
|
fill_in "report_details", :with => "This is spam"
|
|
assert_difference "Issue.count", 1 do
|
|
click_on "Create Report"
|
|
end
|
|
|
|
assert_content "Your report has been registered successfully"
|
|
|
|
assert_equal note, Issue.last.reportable
|
|
assert_equal "moderator", Issue.last.assigned_role
|
|
end
|
|
|
|
def test_can_report_notes_with_author
|
|
note = create(:note_comment, :author => create(:user)).note
|
|
sign_in_as(create(:user))
|
|
visit note_path(note)
|
|
|
|
click_on I18n.t("notes.show.report")
|
|
assert_content "Report"
|
|
assert_content I18n.t("reports.new.disclaimer.intro")
|
|
|
|
choose I18n.t("reports.new.categories.note.spam_label")
|
|
fill_in "report_details", :with => "This is spam"
|
|
assert_difference "Issue.count", 1 do
|
|
click_on "Create Report"
|
|
end
|
|
|
|
assert_content "Your report has been registered successfully"
|
|
|
|
assert_equal note, Issue.last.reportable
|
|
assert_equal "moderator", Issue.last.assigned_role
|
|
end
|
|
end
|