1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Inform Arel we don't need additional type casting in tests

Part of the larger refactoring to remove type casting from Arel. We can
inform it that we already have the right type by wrapping the value in
an `Arel::Nodes::Quoted`. This commit can be reverted when we have
removed type casting from Arel in Rail 5.1
This commit is contained in:
Sean Griffin 2014-12-26 17:50:20 -07:00
parent 108df8cc90
commit de0cfd27a5
3 changed files with 4 additions and 4 deletions

View file

@ -25,8 +25,8 @@ class RelationMergingTest < ActiveRecord::TestCase
end
def test_relation_merging_with_arel_equalities_keeps_last_equality
devs = Developer.where(Developer.arel_table[:salary].eq(80000)).merge(
Developer.where(Developer.arel_table[:salary].eq(9000))
devs = Developer.where(Developer.arel_table[:salary].eq(Arel::Nodes::Quoted.new(80000))).merge(
Developer.where(Developer.arel_table[:salary].eq(Arel::Nodes::Quoted.new(9000)))
)
assert_equal [developers(:poor_jamis)], devs.to_a
end

View file

@ -43,7 +43,7 @@ module ActiveRecord
end
def test_association_not_eq
expected = Comment.arel_table[@name].not_eq('hello')
expected = Comment.arel_table[@name].not_eq(Arel::Nodes::Quoted.new('hello'))
relation = Post.joins(:comments).where.not(comments: {title: 'hello'})
assert_equal(expected.to_sql, relation.where_values.first.to_sql)
end

View file

@ -34,7 +34,7 @@ class Author < ActiveRecord::Base
-> { where(title: 'Welcome to the weblog').where('comments_count = ?', 1) },
class_name: 'Post'
has_many :welcome_posts_with_comments,
-> { where(title: 'Welcome to the weblog').where(Post.arel_table[:comments_count].gt(0)) },
-> { where(title: 'Welcome to the weblog').where(Post.arel_table[:comments_count].gt(Arel::Nodes::Quoted.new(0))) },
class_name: 'Post'
has_many :comments_desc, -> { order('comments.id DESC') }, :through => :posts, :source => :comments