diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2017-07-11 07:40:26 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2017-07-11 07:43:05 +0900 |
commit | 23300f4440ae35ba7604476496e7867f5eff9dab (patch) | |
tree | d270e08bf599aaee4e490d60899472ef6717231d /activerecord/test/cases/relation | |
parent | bfbae885b290d35d7cbdcdf7f6b6c157bacac392 (diff) | |
download | rails-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.rb | 38 |
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 |