diff --git a/app/models/issue.rb b/app/models/issue.rb index 3b53f84..a0a860b 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -365,7 +365,9 @@ class Issue < ActiveRecord::Base # Users the issue can be assigned to def assignable_users - project.assignable_users + users = project.assignable_users + users << author if author + users.sort end # Versions that the issue can be assigned to diff --git a/test/unit/issue_test.rb b/test/unit/issue_test.rb index 6430764..d0f04f4 100644 --- a/test/unit/issue_test.rb +++ b/test/unit/issue_test.rb @@ -510,9 +510,19 @@ class IssueTest < ActiveSupport::TestCase assert !Issue.new(:due_date => nil).overdue? assert !Issue.new(:due_date => 1.day.ago.to_date, :status => IssueStatus.find(:first, :conditions => {:is_closed => true})).overdue? end - - def test_assignable_users - assert_kind_of User, Issue.find(1).assignable_users.first + + context "#assignable_users" do + should "be Users" do + assert_kind_of User, Issue.find(1).assignable_users.first + end + + should "include the issue author" do + project = Project.find(1) + non_project_member = User.generate! + issue = Issue.generate_for_project!(project, :author => non_project_member) + + assert issue.assignable_users.include?(non_project_member) + end end def test_create_should_send_email_notification