X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/5add3cf67145e1d3ccefcfb6095b8e56321e2057..2fa1fa7d3e93d3b71e326df26b7f13a5c013f11b:/test/models/issue_test.rb diff --git a/test/models/issue_test.rb b/test/models/issue_test.rb index c3887b818..b2a868a93 100644 --- a/test/models/issue_test.rb +++ b/test/models/issue_test.rb @@ -1,7 +1,40 @@ -require 'test_helper' +require "test_helper" class IssueTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end + def test_assigned_role + issue = create(:issue) + + assert_predicate issue, :valid? + issue.assigned_role = "bogus" + assert_not_predicate 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 + diary_entry = create(:diary_entry) + diary_comment = create(:diary_comment, :diary_entry => diary_entry) + + issue = build(:issue, :reportable => user, :assigned_role => "administrator") + issue.save! + assert_equal issue.reported_user, user + + issue = build(:issue, :reportable => note, :assigned_role => "administrator") + issue.save! + assert_equal issue.reported_user, note.author + + issue = build(:issue, :reportable => anonymous_note, :assigned_role => "administrator") + issue.save! + assert_nil issue.reported_user + + issue = build(:issue, :reportable => diary_entry, :assigned_role => "administrator") + issue.save! + assert_equal issue.reported_user, diary_entry.user + + issue = build(:issue, :reportable => diary_comment, :assigned_role => "administrator") + issue.save! + assert_equal issue.reported_user, diary_comment.user + end end