summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/query.rb2
-rw-r--r--test/unit/query_test.rb10
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"