summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/member.rb4
-rw-r--r--test/unit/member_test.rb10
2 files changed, 12 insertions, 2 deletions
diff --git a/app/models/member.rb b/app/models/member.rb
index 547fa9eaa..aa1d50cdf 100644
--- a/app/models/member.rb
+++ b/app/models/member.rb
@@ -94,9 +94,9 @@ class Member < ActiveRecord::Base
end
def set_issue_category_nil
- if user
+ if user_id && project_id
# remove category based auto assignments for this member
- IssueCategory.where(["project_id = ? AND assigned_to_id = ?", project.id, user.id]).
+ IssueCategory.where(["project_id = ? AND assigned_to_id = ?", project_id, user_id]).
update_all("assigned_to_id = NULL")
end
end
diff --git a/test/unit/member_test.rb b/test/unit/member_test.rb
index 6ba9717c4..124aa3719 100644
--- a/test/unit/member_test.rb
+++ b/test/unit/member_test.rb
@@ -94,6 +94,16 @@ class MemberTest < ActiveSupport::TestCase
assert !member.save
end
+ def test_set_issue_category_nil_should_handle_nil_values
+ m = Member.new
+ assert_nil m.user
+ assert_nil m.project
+
+ assert_nothing_raised do
+ m.set_issue_category_nil
+ end
+ end
+
def test_destroy
category1 = IssueCategory.find(1)
assert_equal @jsmith.user.id, category1.assigned_to_id