Sha256: 908119467bffedb033aec48546f1ebfcda16452e62767bd9d82ef32b40f20865

Contents?: true

Size: 793 Bytes

Versions: 9

Compression:

Stored size: 793 Bytes

Contents

RSpec.describe ROM::Relation, '#qualified' do
  subject(:relation) { relations[:users] }

  let(:tasks) { relations[:tasks] }

  include_context 'users and tasks'

  with_adapters do
    it 'qualifies all attributes' do
      qualified = relation.qualified

      expect(qualified.schema.all?(&:qualified)).to be(true)
    end

    it 'qualifies virtual attributes' do
      qualified = relation.
                    left_join(:tasks, tasks[:user_id].qualified => relation[:id].qualified).
                    select(:id, tasks[:id].func { int::count(id).as(:count) }).
                    qualified.
                    group(:id)

      expect(qualified.schema.all?(&:qualified)).to be(true)

      expect(qualified.to_a).to eql([{ id: 1, count: 1 }, { id: 2, count: 1 }])
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
rom-sql-1.2.1 spec/unit/relation/qualified_spec.rb
rom-sql-1.2.0 spec/unit/relation/qualified_spec.rb
rom-sql-1.1.2 spec/unit/relation/qualified_spec.rb
rom-sql-1.1.1 spec/unit/relation/qualified_spec.rb
rom-sql-1.1.0 spec/unit/relation/qualified_spec.rb
rom-sql-1.0.3 spec/unit/relation/qualified_spec.rb
rom-sql-1.0.2 spec/unit/relation/qualified_spec.rb
rom-sql-1.0.1 spec/unit/relation/qualified_spec.rb
rom-sql-1.0.0 spec/unit/relation/qualified_spec.rb