Add more tests
This commit is contained in:
parent
ab3150646c
commit
46c183ffeb
7 changed files with 121 additions and 4 deletions
|
@ -1,8 +1,17 @@
|
||||||
require "test_helper"
|
require "test_helper"
|
||||||
|
|
||||||
class IssueTest < ActiveSupport::TestCase
|
class IssueTest < ActiveSupport::TestCase
|
||||||
|
def test_assigned_role
|
||||||
|
issue = create(:issue)
|
||||||
|
|
||||||
|
assert issue.valid?
|
||||||
|
issue.assigned_role = "bogus"
|
||||||
|
assert !issue.valid?
|
||||||
|
end
|
||||||
|
|
||||||
def test_reported_user
|
def test_reported_user
|
||||||
note = create(:note_comment, :author => create(:user)).note
|
note = create(:note_comment, :author => create(:user)).note
|
||||||
|
anonymous_note = create(:note_comment, :author => nil).note
|
||||||
user = create(:user)
|
user = create(:user)
|
||||||
create(:language, :code => "en")
|
create(:language, :code => "en")
|
||||||
diary_entry = create(:diary_entry)
|
diary_entry = create(:diary_entry)
|
||||||
|
@ -12,11 +21,14 @@ class IssueTest < ActiveSupport::TestCase
|
||||||
issue.save!
|
issue.save!
|
||||||
assert_equal issue.reported_user, user
|
assert_equal issue.reported_user, user
|
||||||
|
|
||||||
# FIXME: doesn't handle anonymous notes
|
|
||||||
issue.reportable = note
|
issue.reportable = note
|
||||||
issue.save!
|
issue.save!
|
||||||
assert_equal issue.reported_user, note.author
|
assert_equal issue.reported_user, note.author
|
||||||
|
|
||||||
|
issue.reportable = anonymous_note
|
||||||
|
issue.save!
|
||||||
|
assert_nil issue.reported_user
|
||||||
|
|
||||||
issue.reportable = diary_entry
|
issue.reportable = diary_entry
|
||||||
issue.save!
|
issue.save!
|
||||||
assert_equal issue.reported_user, diary_entry.user
|
assert_equal issue.reported_user, diary_entry.user
|
||||||
|
|
|
@ -1,6 +1,22 @@
|
||||||
require "test_helper"
|
require "test_helper"
|
||||||
|
|
||||||
class ReportTest < ActiveSupport::TestCase
|
class ReportTest < ActiveSupport::TestCase
|
||||||
|
def test_issue_required
|
||||||
|
report = create(:report)
|
||||||
|
|
||||||
|
assert report.valid?
|
||||||
|
report.issue = nil
|
||||||
|
assert !report.valid?
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_user_required
|
||||||
|
report = create(:report)
|
||||||
|
|
||||||
|
assert report.valid?
|
||||||
|
report.user = nil
|
||||||
|
assert !report.valid?
|
||||||
|
end
|
||||||
|
|
||||||
def test_details_required
|
def test_details_required
|
||||||
report = create(:report)
|
report = create(:report)
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,11 @@ require "application_system_test_case"
|
||||||
class IssuesTest < ApplicationSystemTestCase
|
class IssuesTest < ApplicationSystemTestCase
|
||||||
include IssuesHelper
|
include IssuesHelper
|
||||||
|
|
||||||
|
def test_view_issues_not_logged_in
|
||||||
|
visit issues_path
|
||||||
|
assert page.has_content?(I18n.t("user.login.title"))
|
||||||
|
end
|
||||||
|
|
||||||
def test_view_issues_normal_user
|
def test_view_issues_normal_user
|
||||||
sign_in_as(create(:user))
|
sign_in_as(create(:user))
|
||||||
|
|
||||||
|
|
35
test/system/report_diary_comment_test.rb
Normal file
35
test/system/report_diary_comment_test.rb
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
require "application_system_test_case"
|
||||||
|
|
||||||
|
class ReportDiaryCommentTest < ApplicationSystemTestCase
|
||||||
|
def setup
|
||||||
|
create(:language, :code => "en")
|
||||||
|
@diary_entry = create(:diary_entry)
|
||||||
|
@comment = create(:diary_comment, :diary_entry => @diary_entry)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_no_link_when_not_logged_in
|
||||||
|
visit diary_entry_path(@diary_entry.user.display_name, @diary_entry)
|
||||||
|
assert page.has_content?(@comment.body)
|
||||||
|
|
||||||
|
assert !page.has_content?(I18n.t("diary_entry.diary_comment.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
|
||||||
|
|
||||||
|
click_on I18n.t("diary_entry.diary_comment.report")
|
||||||
|
assert page.has_content? "Report"
|
||||||
|
assert page.has_content? I18n.t("issues.new.disclaimer.intro")
|
||||||
|
|
||||||
|
choose I18n.t("reports.categories.diary_comment.spam")
|
||||||
|
fill_in "report_details", :with => "This comment is spam"
|
||||||
|
click_on "Create Report"
|
||||||
|
|
||||||
|
assert page.has_content? "Your report has been registered sucessfully"
|
||||||
|
|
||||||
|
assert_equal 1, Issue.count
|
||||||
|
assert Issue.last.reportable == @comment
|
||||||
|
end
|
||||||
|
end
|
|
@ -6,7 +6,7 @@ class ReportDiaryEntryTest < ApplicationSystemTestCase
|
||||||
@diary_entry = create(:diary_entry)
|
@diary_entry = create(:diary_entry)
|
||||||
end
|
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)
|
visit diary_entry_path(@diary_entry.user.display_name, @diary_entry)
|
||||||
assert page.has_content?(@diary_entry.title)
|
assert page.has_content?(@diary_entry.title)
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
require "application_system_test_case"
|
require "application_system_test_case"
|
||||||
|
|
||||||
class ReportAnonymousNoteTest < ApplicationSystemTestCase
|
class ReportNoteTest < ApplicationSystemTestCase
|
||||||
def test_no_flag_when_not_logged_in
|
def test_no_link_when_not_logged_in
|
||||||
note = create(:note_with_comments)
|
note = create(:note_with_comments)
|
||||||
visit browse_note_path(note)
|
visit browse_note_path(note)
|
||||||
assert page.has_content?(note.comments.first.body)
|
assert page.has_content?(note.comments.first.body)
|
||||||
|
@ -27,4 +27,23 @@ class ReportAnonymousNoteTest < ApplicationSystemTestCase
|
||||||
assert_equal 1, Issue.count
|
assert_equal 1, Issue.count
|
||||||
assert Issue.last.reportable == note
|
assert Issue.last.reportable == note
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_can_report_notes_with_author
|
||||||
|
note = create(:note_comment, :author => create(:user)).note
|
||||||
|
sign_in_as(create(:user))
|
||||||
|
visit browse_note_path(note)
|
||||||
|
|
||||||
|
click_on I18n.t("browse.note.report")
|
||||||
|
assert page.has_content? "Report"
|
||||||
|
assert page.has_content? I18n.t("issues.new.disclaimer.intro")
|
||||||
|
|
||||||
|
choose I18n.t("reports.categories.note.spam")
|
||||||
|
fill_in "report_details", :with => "This is spam"
|
||||||
|
click_on "Create Report"
|
||||||
|
|
||||||
|
assert page.has_content? "Your report has been registered sucessfully"
|
||||||
|
|
||||||
|
assert_equal 1, Issue.count
|
||||||
|
assert Issue.last.reportable == note
|
||||||
|
end
|
||||||
end
|
end
|
30
test/system/report_user_test.rb
Normal file
30
test/system/report_user_test.rb
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
require "application_system_test_case"
|
||||||
|
|
||||||
|
class ReportUserTest < ApplicationSystemTestCase
|
||||||
|
def test_no_link_when_not_logged_in
|
||||||
|
note = create(:note_with_comments)
|
||||||
|
visit browse_note_path(note)
|
||||||
|
assert page.has_content?(note.comments.first.body)
|
||||||
|
|
||||||
|
assert !page.has_content?(I18n.t("user.view.report"))
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_can_report_user
|
||||||
|
user = create(:user)
|
||||||
|
sign_in_as(create(:user))
|
||||||
|
visit user_path(user.display_name)
|
||||||
|
|
||||||
|
click_on I18n.t("user.view.report")
|
||||||
|
assert page.has_content? "Report"
|
||||||
|
assert page.has_content? I18n.t("issues.new.disclaimer.intro")
|
||||||
|
|
||||||
|
choose I18n.t("reports.categories.user.vandal")
|
||||||
|
fill_in "report_details", :with => "This user is a vandal"
|
||||||
|
click_on "Create Report"
|
||||||
|
|
||||||
|
assert page.has_content? "Your report has been registered sucessfully"
|
||||||
|
|
||||||
|
assert_equal 1, Issue.count
|
||||||
|
assert Issue.last.reportable == user
|
||||||
|
end
|
||||||
|
end
|
Loading…
Add table
Add a link
Reference in a new issue