46 lines
1.2 KiB
Ruby
46 lines
1.2 KiB
Ruby
require "test_helper"
|
|
|
|
class IssueTest < ActiveSupport::TestCase
|
|
def test_reported_user
|
|
note = create(:note_comment, :author => create(:user)).note
|
|
user = create(:user)
|
|
create(:language, :code => "en")
|
|
diary_entry = create(:diary_entry)
|
|
issue = Issue.new
|
|
|
|
issue.reportable = user
|
|
issue.save!
|
|
assert_equal issue.reported_user, user
|
|
|
|
# FIXME: doesn't handle anonymous notes
|
|
issue.reportable = note
|
|
issue.save!
|
|
assert_equal issue.reported_user, note.author
|
|
|
|
issue.reportable = diary_entry
|
|
issue.save!
|
|
assert_equal issue.reported_user, diary_entry.user
|
|
end
|
|
|
|
def test_default_assigned_role
|
|
create(:language, :code => "en")
|
|
diary_entry = create(:diary_entry)
|
|
note = create(:note_with_comments)
|
|
|
|
issue = Issue.new
|
|
issue.reportable = diary_entry
|
|
issue.save!
|
|
assert_equal "administrator", issue.assigned_role
|
|
|
|
issue = Issue.new
|
|
issue.reportable = note
|
|
issue.save!
|
|
assert_equal "moderator", issue.assigned_role
|
|
|
|
# check the callback doesn't override an explicitly set role
|
|
issue.assigned_role = "administrator"
|
|
issue.save!
|
|
issue.reload
|
|
assert_equal "administrator", issue.assigned_role
|
|
end
|
|
end
|