aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/relation
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2017-07-11 07:40:26 +0900
committerRyuta Kamizono <kamipo@gmail.com>2017-07-11 07:43:05 +0900
commit23300f4440ae35ba7604476496e7867f5eff9dab (patch)
treed270e08bf599aaee4e490d60899472ef6717231d /activerecord/test/cases/relation
parentbfbae885b290d35d7cbdcdf7f6b6c157bacac392 (diff)
downloadrails-23300f4440ae35ba7604476496e7867f5eff9dab.tar.gz
rails-23300f4440ae35ba7604476496e7867f5eff9dab.tar.bz2
rails-23300f4440ae35ba7604476496e7867f5eff9dab.zip
Extract `FakeKlass` in `relation_test.rb` and `relation/mutation_test.rb`
`FakeKlass` in `relation_test.rb` and `relation/mutation_test.rb` are almost the same.
Diffstat (limited to 'activerecord/test/cases/relation')
-rw-r--r--activerecord/test/cases/relation/mutation_test.rb38
1 files changed, 5 insertions, 33 deletions
diff --git a/activerecord/test/cases/relation/mutation_test.rb b/activerecord/test/cases/relation/mutation_test.rb
index 8e73baa70a..a37a2186ed 100644
--- a/activerecord/test/cases/relation/mutation_test.rb
+++ b/activerecord/test/cases/relation/mutation_test.rb
@@ -3,39 +3,6 @@ require "models/post"
module ActiveRecord
class RelationMutationTest < ActiveRecord::TestCase
- FakeKlass = Struct.new(:table_name, :name) do
- extend ActiveRecord::Delegation::DelegateCache
- inherited self
-
- def connection
- Post.connection
- end
-
- def relation_delegate_class(klass)
- self.class.relation_delegate_class(klass)
- end
-
- def attribute_alias?(name)
- false
- end
-
- def sanitize_sql(sql)
- sql
- end
-
- def sanitize_sql_for_order(sql)
- sql
- end
-
- def arel_attribute(name, table)
- table[name]
- end
- end
-
- def relation
- @relation ||= Relation.new FakeKlass.new("posts"), Post.arel_table, Post.predicate_builder
- end
-
(Relation::MULTI_VALUE_METHODS - [:references, :extending, :order, :unscope, :select]).each do |method|
test "##{method}!" do
assert relation.public_send("#{method}!", :foo).equal?(relation)
@@ -167,5 +134,10 @@ module ActiveRecord
relation.skip_query_cache!
assert relation.skip_query_cache_value
end
+
+ private
+ def relation
+ @relation ||= Relation.new(FakeKlass, Post.arel_table, Post.predicate_builder)
+ end
end
end