aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorMichael Koziarski <michael@koziarski.com>2007-08-07 09:53:33 +0000
committerMichael Koziarski <michael@koziarski.com>2007-08-07 09:53:33 +0000
commitd4bf5e9b34d8d57be49ac50e31d6ad4151e43947 (patch)
tree984f5e82d68a3766c532ca6d1039e93c3fb777ca /activerecord/test
parentbb94ce92fc1486f7a3d2077e073dd50ce758567d (diff)
downloadrails-d4bf5e9b34d8d57be49ac50e31d6ad4151e43947.tar.gz
rails-d4bf5e9b34d8d57be49ac50e31d6ad4151e43947.tar.bz2
rails-d4bf5e9b34d8d57be49ac50e31d6ad4151e43947.zip
Make habtm respect the :select option. Closes #9207. [Aleksey Kondratenko]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7279 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activerecord/test')
-rwxr-xr-xactiverecord/test/associations_test.rb7
-rw-r--r--activerecord/test/fixtures/category.rb6
2 files changed, 13 insertions, 0 deletions
diff --git a/activerecord/test/associations_test.rb b/activerecord/test/associations_test.rb
index 607f12bdb5..99cb9ac0a1 100755
--- a/activerecord/test/associations_test.rb
+++ b/activerecord/test/associations_test.rb
@@ -1761,6 +1761,13 @@ class HasAndBelongsToManyAssociationsTest < Test::Unit::TestCase
assert welcome.save!
end
+ def test_habtm_respects_select
+ categories(:technology).select_testing_posts(true).each do |o|
+ assert_respond_to o, :correctness_marker
+ end
+ assert_respond_to categories(:technology).select_testing_posts.find(:first), :correctness_marker
+ end
+
def test_updating_attributes_on_rich_associations
david = projects(:action_controller).developers.first
david.name = "DHH"
diff --git a/activerecord/test/fixtures/category.rb b/activerecord/test/fixtures/category.rb
index 295bd8277f..71685234e3 100644
--- a/activerecord/test/fixtures/category.rb
+++ b/activerecord/test/fixtures/category.rb
@@ -3,6 +3,12 @@ class Category < ActiveRecord::Base
has_and_belongs_to_many :special_posts, :class_name => "Post"
has_and_belongs_to_many :other_posts, :class_name => "Post"
+ has_and_belongs_to_many(:select_testing_posts,
+ :class_name => 'Post',
+ :foreign_key => 'category_id',
+ :association_foreign_key => 'post_id',
+ :select => 'posts.*, 1 as correctness_marker')
+
def self.what_are_you
'a category...'
end