Sha256: 9b127fedd64a1aa1018429479930e6bfc7eb4e11af860813301bc02fc72d5a7d
Contents?: true
Size: 1.01 KB
Versions: 4
Compression:
Stored size: 1.01 KB
Contents
require 'rom' require 'rom/memory' require 'rom/plugins/relation/view' RSpec.describe ROM::Plugins::Relation::View do subject(:relation) { relation_class.new([]) } let(:relation_class) do Class.new(ROM::Memory::Relation) do use :view view(:base, [:id, :name]) do self end view(:ids, [:id]) do self end view(:names, [:name]) do |id| self end end end describe '#attributes' do it 'returns base view attributes by default' do expect(relation.attributes).to eql([:id, :name]) end it 'returns attributes for a view' do expect(relation.ids.attributes).to eql([:id]) end it 'returns attributes for a view with args' do expect(relation.names(1).attributes).to eql([:name]) end it 'returns attributes for a curried view' do expect(relation.names.attributes).to eql([:name]) end it 'returns correct arity for a curried view' do expect(relation.names.arity).to be(1) end end end
Version data entries
4 entries across 4 versions & 1 rubygems