Sha256: 1e08acae79e80f70258c44d6416cbda9cbda00e0c3d11c5d35a3c59b429070eb

Contents?: true

Size: 1.22 KB

Versions: 8

Compression:

Stored size: 1.22 KB

Contents

# encoding: UTF-8

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

8 entries across 8 versions & 1 rubygems

Version Path
arel-helpers-2.11.0 spec/aliases_spec.rb
arel-helpers-2.10.0 spec/aliases_spec.rb
arel-helpers-2.9.1 spec/aliases_spec.rb
arel-helpers-2.9.0 spec/aliases_spec.rb
arel-helpers-2.8.0 spec/aliases_spec.rb
arel-helpers-2.7.0 spec/aliases_spec.rb
arel-helpers-2.6.1 spec/aliases_spec.rb
arel-helpers-2.6.0 spec/aliases_spec.rb