diff options
author | Jon Moss <me@jonathanmoss.me> | 2016-05-25 20:51:37 -0400 |
---|---|---|
committer | Jon Moss <me@jonathanmoss.me> | 2016-05-26 18:00:51 -0400 |
commit | 8e2e5f9e3d1f434e265dc104ea9b00ff75702fc3 (patch) | |
tree | 88505e8a287d8127ce2a2e7fb8281f309c5c5f5c /activerecord/test/cases | |
parent | 28a7c98fe665e40f40d4c69c0729ad0c0436bef2 (diff) | |
download | rails-8e2e5f9e3d1f434e265dc104ea9b00ff75702fc3.tar.gz rails-8e2e5f9e3d1f434e265dc104ea9b00ff75702fc3.tar.bz2 rails-8e2e5f9e3d1f434e265dc104ea9b00ff75702fc3.zip |
Fix `has_one` `enum` `where` queries
Fixes #25128
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r-- | activerecord/test/cases/associations/has_one_associations_test.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/activerecord/test/cases/associations/has_one_associations_test.rb b/activerecord/test/cases/associations/has_one_associations_test.rb index c9d9e29f09..1574f373c2 100644 --- a/activerecord/test/cases/associations/has_one_associations_test.rb +++ b/activerecord/test/cases/associations/has_one_associations_test.rb @@ -659,4 +659,22 @@ class HasOneAssociationsTest < ActiveRecord::TestCase assert_deprecated { firm.account(true) } end + + class SpecialBook < ActiveRecord::Base + self.table_name = 'books' + belongs_to :author, class_name: 'SpecialAuthor' + end + + class SpecialAuthor < ActiveRecord::Base + self.table_name = 'authors' + has_one :book, class_name: 'SpecialBook', foreign_key: 'author_id' + end + + def test_assocation_enum_works_properly + author = SpecialAuthor.create!(name: 'Test') + book = SpecialBook.create!(status: 'published') + author.book = book + + refute_equal 0, SpecialAuthor.joins(:book).where(books: { status: 'published' } ).count + end end |