end
end
+ if project && category_id
+ unless project.issue_category_ids.include?(category_id)
+ errors.add :category_id, :inclusion
+ end
+ end
+
# Checks that the issue can not be added/moved to a disabled tracker
if project && (tracker_id_changed? || project_id_changed?)
if tracker && !project.trackers.include?(tracker)
assert issue.save
end
+ def test_should_not_be_able_to_set_an_invalid_category_id
+ issue = Issue.new(:project_id => 1, :tracker_id => 1, :author_id => 1,
+ :status_id => 1, :category_id => 3,
+ :subject => 'New issue')
+ assert !issue.save
+ assert_not_equal [], issue.errors[:category_id]
+ end
+
def test_allowed_target_projects_should_include_projects_with_issue_tracking_enabled
assert_include Project.find(2), Issue.allowed_target_projects(User.find(2))
end