mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
Failing tests for #1233.
This commit is contained in:
committed by
Jon Leighton
parent
90f59b24dc
commit
f1f1ab77df
@@ -675,6 +675,46 @@ class EagerAssociationTest < ActiveRecord::TestCase
|
||||
}
|
||||
end
|
||||
|
||||
def test_eager_with_default_scope
|
||||
developer = EagerDeveloperWithDefaultScope.where(:name => 'David').first
|
||||
projects = Project.order(:id).all
|
||||
assert_no_queries do
|
||||
assert_equal(projects, developer.projects)
|
||||
end
|
||||
end
|
||||
|
||||
def test_eager_with_default_scope_as_class_method
|
||||
developer = EagerDeveloperWithClassMethodDefaultScope.where(:name => 'David').first
|
||||
projects = Project.order(:id).all
|
||||
assert_no_queries do
|
||||
assert_equal(projects, developer.projects)
|
||||
end
|
||||
end
|
||||
|
||||
def test_eager_with_default_scope_as_lambda
|
||||
developer = EagerDeveloperWithLambdaDefaultScope.where(:name => 'David').first
|
||||
projects = Project.order(:id).all
|
||||
assert_no_queries do
|
||||
assert_equal(projects, developer.projects)
|
||||
end
|
||||
end
|
||||
|
||||
def test_eager_with_default_scope_as_block
|
||||
developer = EagerDeveloperWithBlockDefaultScope.where(:name => 'David').first
|
||||
projects = Project.order(:id).all
|
||||
assert_no_queries do
|
||||
assert_equal(projects, developer.projects)
|
||||
end
|
||||
end
|
||||
|
||||
def test_eager_with_default_scope_as_callable
|
||||
developer = EagerDeveloperWithCallableDefaultScope.where(:name => 'David').first
|
||||
projects = Project.order(:id).all
|
||||
assert_no_queries do
|
||||
assert_equal(projects, developer.projects)
|
||||
end
|
||||
end
|
||||
|
||||
def find_all_ordered(className, include=nil)
|
||||
className.find(:all, :order=>"#{className.table_name}.#{className.primary_key}", :include=>include)
|
||||
end
|
||||
|
||||
@@ -165,4 +165,39 @@ class ModuleIncludedPoorDeveloperCalledJamis < DeveloperCalledJamis
|
||||
include SalaryDefaultScope
|
||||
end
|
||||
|
||||
class EagerDeveloperWithDefaultScope < ActiveRecord::Base
|
||||
self.table_name = 'developers'
|
||||
has_and_belongs_to_many :projects, :foreign_key => 'developer_id', :join_table => 'developers_projects', :order => 'projects.id'
|
||||
|
||||
default_scope includes(:projects)
|
||||
end
|
||||
|
||||
class EagerDeveloperWithClassMethodDefaultScope < ActiveRecord::Base
|
||||
self.table_name = 'developers'
|
||||
has_and_belongs_to_many :projects, :foreign_key => 'developer_id', :join_table => 'developers_projects', :order => 'projects.id'
|
||||
|
||||
def self.default_scope
|
||||
includes(:projects)
|
||||
end
|
||||
end
|
||||
|
||||
class EagerDeveloperWithLambdaDefaultScope < ActiveRecord::Base
|
||||
self.table_name = 'developers'
|
||||
has_and_belongs_to_many :projects, :foreign_key => 'developer_id', :join_table => 'developers_projects', :order => 'projects.id'
|
||||
|
||||
default_scope lambda { includes(:projects) }
|
||||
end
|
||||
|
||||
class EagerDeveloperWithBlockDefaultScope < ActiveRecord::Base
|
||||
self.table_name = 'developers'
|
||||
has_and_belongs_to_many :projects, :foreign_key => 'developer_id', :join_table => 'developers_projects', :order => 'projects.id'
|
||||
|
||||
default_scope { includes(:projects) }
|
||||
end
|
||||
|
||||
class EagerDeveloperWithCallableDefaultScope < ActiveRecord::Base
|
||||
self.table_name = 'developers'
|
||||
has_and_belongs_to_many :projects, :foreign_key => 'developer_id', :join_table => 'developers_projects', :order => 'projects.id'
|
||||
|
||||
default_scope OpenStruct.new(:call => includes(:projects))
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user