X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/7dbf8d83369cb73929080c4ba23fdd7dcd0184df..2fcee9625dcd192d0c524f27d9cb182c883e31b4:/test/models/issue_test.rb diff --git a/test/models/issue_test.rb b/test/models/issue_test.rb index 8804b6b28..f166282c1 100644 --- a/test/models/issue_test.rb +++ b/test/models/issue_test.rb @@ -4,55 +4,37 @@ class IssueTest < ActiveSupport::TestCase def test_assigned_role issue = create(:issue) - assert issue.valid? + assert_predicate issue, :valid? issue.assigned_role = "bogus" - assert !issue.valid? + assert_not issue.valid? end def test_reported_user + create(:language, :code => "en") + user = create(:user) note = create(:note_comment, :author => create(:user)).note anonymous_note = create(:note_comment, :author => nil).note - user = create(:user) - create(:language, :code => "en") diary_entry = create(:diary_entry) - issue = Issue.new + diary_comment = create(:diary_comment, :diary_entry => diary_entry) - issue.reportable = user + issue = build(:issue, :reportable => user, :assigned_role => "administrator") issue.save! assert_equal issue.reported_user, user - issue.reportable = note + issue = build(:issue, :reportable => note, :assigned_role => "administrator") issue.save! assert_equal issue.reported_user, note.author - issue.reportable = anonymous_note + issue = build(:issue, :reportable => anonymous_note, :assigned_role => "administrator") issue.save! assert_nil issue.reported_user - issue.reportable = diary_entry + issue = build(:issue, :reportable => diary_entry, :assigned_role => "administrator") 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 = build(:issue, :reportable => diary_comment, :assigned_role => "administrator") issue.save! - issue.reload - assert_equal "administrator", issue.assigned_role + assert_equal issue.reported_user, diary_comment.user end end