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