diff options
author | Sean Griffin <sean@seantheprogrammer.com> | 2015-10-20 14:48:26 -0600 |
---|---|---|
committer | Sean Griffin <sean@seantheprogrammer.com> | 2015-10-20 14:48:26 -0600 |
commit | 03aacc55a239345a3ca8b36d188a338e7dab5189 (patch) | |
tree | f36d7fdd0bd7daf91a7a2870cc5822fb9f3c5417 /activerecord/test/cases | |
parent | d99db6b8b3e48ca209436facdac9899d3d99f641 (diff) | |
parent | a7628099de796a2db2c18e946dab319abd0fcba2 (diff) | |
download | rails-03aacc55a239345a3ca8b36d188a338e7dab5189.tar.gz rails-03aacc55a239345a3ca8b36d188a338e7dab5189.tar.bz2 rails-03aacc55a239345a3ca8b36d188a338e7dab5189.zip |
Merge pull request #21756 from soutaro/qualify-column-in-calculation
Qualify column names in calculation
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r-- | activerecord/test/cases/calculations_test.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/activerecord/test/cases/calculations_test.rb b/activerecord/test/cases/calculations_test.rb index d904b802fa..ba69823250 100644 --- a/activerecord/test/cases/calculations_test.rb +++ b/activerecord/test/cases/calculations_test.rb @@ -102,6 +102,25 @@ class CalculationsTest < ActiveRecord::TestCase assert_equal 60, c[2] end + def test_should_generate_valid_sql_with_joins_and_group + assert_nothing_raised ActiveRecord::StatementInvalid do + AuditLog.joins(:developer).group(:id).count + end + end + + def test_should_calculate_against_given_relation + developer = Developer.create!(name: "developer") + developer.audit_logs.create!(message: "first log") + developer.audit_logs.create!(message: "second log") + + c = developer.audit_logs.joins(:developer).group(:id).count + + assert_equal developer.audit_logs.count, c.size + developer.audit_logs.each do |log| + assert_equal 1, c[log.id] + end + end + def test_should_order_by_grouped_field c = Account.group(:firm_id).order("firm_id").sum(:credit_limit) assert_equal [1, 2, 6, 9], c.keys.compact |