diff options
author | Eric Chahin <erc73@cornell.edu> | 2014-04-16 02:27:26 -0400 |
---|---|---|
committer | Eric Chahin <erc73@cornell.edu> | 2014-04-16 09:54:28 -0400 |
commit | 93f852569efc4db62e2fed75b2c0bb1866f7065b (patch) | |
tree | c8121ad012225fb00dd1ef44ff291583950ff108 /activerecord/test | |
parent | fe4b0eee05f59831e1468ed50f55fbad0ce11e1d (diff) | |
download | rails-93f852569efc4db62e2fed75b2c0bb1866f7065b.tar.gz rails-93f852569efc4db62e2fed75b2c0bb1866f7065b.tar.bz2 rails-93f852569efc4db62e2fed75b2c0bb1866f7065b.zip |
Changed the NullRelation so that when count is called with #group it will properly return an empty hash instead of zero. Fixes issue #14721
Conflicts:
activerecord/CHANGELOG.md
Diffstat (limited to 'activerecord/test')
-rw-r--r-- | activerecord/test/cases/relations_test.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/activerecord/test/cases/relations_test.rb b/activerecord/test/cases/relations_test.rb index ddfcaaf986..d054dfa25a 100644 --- a/activerecord/test/cases/relations_test.rb +++ b/activerecord/test/cases/relations_test.rb @@ -14,6 +14,7 @@ require 'models/car' require 'models/engine' require 'models/tyre' require 'models/minivan' +require 'models/aircraft' class RelationTest < ActiveRecord::TestCase @@ -365,6 +366,16 @@ class RelationTest < ActiveRecord::TestCase assert_equal({ 'salary' => 100_000 }, Developer.none.where(salary: 100_000).where_values_hash) end + + def test_null_relation_count + ac = Aircraft.new + assert_equal Hash.new, ac.engines.group(:id).count + assert_equal 0, ac.engines.count + ac.save + assert_equal Hash.new, ac.engines.group(:id).count + assert_equal 0, ac.engines.count + end + def test_joins_with_nil_argument assert_nothing_raised { DependentFirm.joins(nil).first } end |