Sha256: d6a73deb47b0bcf7a9fca3dc9b001bcb6db77b0d40e749e4c167afd21e6f38e4

Contents?: true

Size: 1.2 KB

Versions: 6

Compression:

Stored size: 1.2 KB

Contents

require 'spec_helper'

describe ArelHelpers::Aliases do
  describe '#aliased_as' do
    it 'yields an alias when passed a block' do
      Post.aliased_as('foo') do |foo_alias|
        expect(foo_alias).to be_a(Arel::Nodes::TableAlias)
        expect(foo_alias.name).to eq('foo')
      end
    end

    it 'is capable of yielding multiple aliases' do
      Post.aliased_as('foo', 'bar') do |foo_alias, bar_alias|
        expect(foo_alias).to be_a(Arel::Nodes::TableAlias)
        expect(foo_alias.name).to eq('foo')

        expect(bar_alias).to be_a(Arel::Nodes::TableAlias)
        expect(bar_alias.name).to eq('bar')
      end
    end

    it 'returns an alias when not passed a block' do
      aliases = Post.aliased_as('foo')
      expect(aliases.size).to eq(1)
      expect(aliases[0]).to be_a(Arel::Nodes::TableAlias)
      expect(aliases[0].name).to eq('foo')
    end

    it 'is capable of returning multiple aliases' do
      aliases = Post.aliased_as('foo', 'bar')
      expect(aliases.size).to eq(2)

      expect(aliases[0]).to be_a(Arel::Nodes::TableAlias)
      expect(aliases[0].name).to eq('foo')

      expect(aliases[1]).to be_a(Arel::Nodes::TableAlias)
      expect(aliases[1].name).to eq('bar')
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
arel-helpers-2.16.0 spec/aliases_spec.rb
arel-helpers-2.15.0 spec/aliases_spec.rb
arel-helpers-2.14.0 spec/aliases_spec.rb
arel-helpers-2.13.0 spec/aliases_spec.rb
arel-helpers-2.12.1 spec/aliases_spec.rb
arel-helpers-2.12.0 spec/aliases_spec.rb