Sha256: cde6a3fdbd5b2b96d3d2dca3d9e5b28284dbab190e930f25aec5ee132f69d13e

Contents?: true

Size: 885 Bytes

Versions: 2

Compression:

Stored size: 885 Bytes

Contents

require File.expand_path('../../helper', __FILE__)

describe ActiveRecord::QueryMethods::WhereChain do
  describe :like do
    it "creates an Arel Matches node in the relation" do
      relation = Post.where.like(title: '')

      relation.where_clause.send(:predicates).first.must_be_instance_of(Arel::Nodes::Matches)
    end

    describe "the Arel Node" do
      before do
        @attribute = "title"
        @value = '%value%'

        relation = Post.where.like(@attribute => @value)
        @first_predicate  = relation.where_clause.send(:predicates).first
        @first_bind       = relation.where_clause.send(:binds).first
      end

      it "has the attribute as the left operand" do
        @first_predicate.left.name.must_equal @attribute
      end

      it "has the value as the right operand" do
        @first_bind.value.must_equal @value
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
activerecord-like-2.1 test/unit/like_test.rb
activerecord-like-2.0 test/unit/like_test.rb