aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
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