Sha256: d332545a59bd4b8b9c61e04df19198f21b729f04bcf217a604a4827edb7a9786

Contents?: true

Size: 841 Bytes

Versions: 3

Compression:

Stored size: 841 Bytes

Contents

require 'spec_helper'

module Arel
  describe Array do
    before do
      @relation = Array.new([
        [1, 'duck' ],
        [2, 'duck' ],
        [3, 'goose']
      ], [[:id, Attributes::Integer], [:name, Attributes::String]])
    end

    describe '#attributes' do
      it 'manufactures attributes corresponding to the names given on construction' do
        @relation.attributes.should == [
          Attribute.new(@relation, :id),
          Attribute.new(@relation, :name)
        ]
      end
    end

    describe '#call' do
      it "manufactures an array of hashes of attributes to values" do
        rows = @relation.call
        rows.length.should == 3
        @relation.array.zip(rows).each do |tuple, row|
          row.relation.should == @relation
          row.tuple.should == tuple
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
arel-1.0.1 spec/engines/memory/unit/relations/array_spec.rb
arel-1.0.0 spec/engines/memory/unit/relations/array_spec.rb
arel-1.0.0.rc1 spec/engines/memory/unit/relations/array_spec.rb