diff options
-rw-r--r-- | app/models/query.rb | 2 | ||||
-rw-r--r-- | test/unit/query_test.rb | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/app/models/query.rb b/app/models/query.rb index e2e1326e2..0640dd684 100644 --- a/app/models/query.rb +++ b/app/models/query.rb @@ -564,7 +564,7 @@ class Query < ActiveRecord::Base r = nil if grouped? begin - # Rails will raise an (unexpected) RecordNotFound if there's only a nil group value + # Rails3 will raise an (unexpected) RecordNotFound if there's only a nil group value r = Issue.visible.count(:group => group_by_statement, :include => [:status, :project], :conditions => statement) rescue ActiveRecord::RecordNotFound r = {nil => issue_count} diff --git a/test/unit/query_test.rb b/test/unit/query_test.rb index 8a39d09a1..c89c2c8c5 100644 --- a/test/unit/query_test.rb +++ b/test/unit/query_test.rb @@ -705,6 +705,16 @@ class QueryTest < ActiveSupport::TestCase assert_equal %w(Fixnum), count_by_group.values.collect {|k| k.class.name}.uniq end + def test_issue_count_with_nil_group_only + Issue.update_all("assigned_to_id = NULL") + + q = Query.new(:name => '_', :group_by => 'assigned_to') + count_by_group = q.issue_count_by_group + assert_kind_of Hash, count_by_group + assert_equal 1, count_by_group.keys.size + assert_nil count_by_group.keys.first + end + def test_issue_ids q = Query.new(:name => '_') order = "issues.subject, issues.id" |