Sha256: 032b1b145a4a0c668919db0efd247b3d75740839336921ab286b05298d3a1098

Contents?: true

Size: 1.01 KB

Versions: 13

Compression:

Stored size: 1.01 KB

Contents

require 'helper'

module Arel
  module Visitors
    describe 'the join_sql visitor' do
      before do
        @visitor = JoinSql.new Table.engine
      end

      describe 'inner join' do
        it 'should visit left if left is a join' do
          t    = Table.new :users
          join = Nodes::InnerJoin.new t, t, Nodes::On.new(t[:id])
          j2   = Nodes::InnerJoin.new join, t, Nodes::On.new(t[:id])
          @visitor.accept(j2).must_be_like %{
            INNER JOIN "users" ON "users"."id"
            INNER JOIN "users" ON "users"."id"
          }
        end
      end

      describe 'outer join' do
        it 'should visit left if left is a join' do
          t    = Table.new :users
          join = Nodes::OuterJoin.new t, t, Nodes::On.new(t[:id])
          j2   = Nodes::OuterJoin.new join, t, Nodes::On.new(t[:id])
          @visitor.accept(j2).must_be_like %{
            LEFT OUTER JOIN "users" ON "users"."id"
            LEFT OUTER JOIN "users" ON "users"."id"
          }
        end
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 2 rubygems

Version Path
arel-2.0.10 test/visitors/test_join_sql.rb
square-arel-2.0.9.20110222133018 test/visitors/test_join_sql.rb
arel-2.0.9 test/visitors/test_join_sql.rb
arel-2.0.9.rc1 test/visitors/test_join_sql.rb
arel-2.0.8 test/visitors/test_join_sql.rb
arel-2.0.8.beta.20110131120940 test/visitors/test_join_sql.rb
arel-2.0.7 test/visitors/test_join_sql.rb
arel-2.0.7.beta.20110110114925 test/visitors/test_join_sql.rb
arel-2.0.6 test/visitors/test_join_sql.rb
arel-2.0.5 test/visitors/test_join_sql.rb
arel-2.0.4 test/visitors/test_join_sql.rb
arel-2.0.3 test/visitors/test_join_sql.rb
arel-2.0.2 test/visitors/test_join_sql.rb