Sha256: b1f96a3d27627f94ec549080558f77ad3bafe4d3a3db7d0636147390362818e4

Contents?: true

Size: 1.47 KB

Versions: 5

Compression:

Stored size: 1.47 KB

Contents

require "spec_helper"

module Switchman
  module ActiveRecord
    describe PostgreSQLAdapter do
      before do
        skip "requires PostgreSQL" unless ::ActiveRecord::Base.connection.adapter_name == 'PostgreSQL'
      end

      describe '#quote_table_name' do
        before do
          shard = mock()
          shard.stubs(:name).returns('bob')
          ::ActiveRecord::Base.connection.stubs(:use_qualified_names?).returns(true)
          ::ActiveRecord::Base.connection.stubs(:shard).returns(shard)
        end

        it 'should add schema if not included' do
          expect(::ActiveRecord::Base.connection.quote_table_name('table')).to eq '"bob"."table"'
        end

        it 'should not add schema if already included' do
          expect(::ActiveRecord::Base.connection.quote_table_name('schema.table')).to eq '"schema"."table"'
        end
      end

      context "table aliases" do
        it "qualifies tables, but not aliases or columns" do
          shard = mock()
          shard.stubs(:name).returns('bob')
          ::ActiveRecord::Base.connection.stubs(:use_qualified_names?).returns(true)
          ::ActiveRecord::Base.connection.stubs(:shard).returns(shard)
          ::ActiveRecord::Base.connection.stubs(:columns).returns([])

          expect(User.joins(:parent).where(id: 1).to_sql).to be_include %{* FROM "bob"."users" INNER JOIN "bob"."users" "parents_users" ON "parents_users"."id" = "users"."parent_id" WHERE "users"."id" = 1}
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
switchman-1.5.2 spec/lib/active_record/postgresql_adapter_spec.rb
switchman-1.5.1 spec/lib/active_record/postgresql_adapter_spec.rb
switchman-1.5.0 spec/lib/active_record/postgresql_adapter_spec.rb
switchman-1.4.4 spec/lib/active_record/postgresql_adapter_spec.rb
switchman-1.4.3 spec/lib/active_record/postgresql_adapter_spec.rb