Sha256: 57089743bc054c04a86d38cb05f7d9390aa4b147750aa8dc14c754e4fa112ad9
Contents?: true
Size: 1.68 KB
Versions: 2
Compression:
Stored size: 1.68 KB
Contents
require 'spec_helper' describe ROM::Relation do include_context 'users and tasks' subject(:users) { rom.relations.users } before do setup.relation(:users) do def sorted order(:id) end end end describe '#project' do it 'projects the dataset using new column names' do projected = users.sorted.project(:name) expect(projected.header).to match_array([:name]) expect(projected.to_a).to eql([{ name: 'Piotr' }]) end end describe '#rename' do it 'projects the dataset using new column names' do renamed = users.sorted.rename(id: :user_id, name: :user_name) expect(renamed.to_a).to eql([{ user_id: 1, user_name: 'Piotr' }]) end end describe '#prefix' do it 'projects the dataset using new column names' do prefixed = users.sorted.prefix(:user) expect(prefixed.to_a).to eql([{ user_id: 1, user_name: 'Piotr' }]) end it 'uses singularized table name as the default prefix' do prefixed = users.sorted.prefix expect(prefixed.to_a).to eql([{ user_id: 1, user_name: 'Piotr' }]) end end describe '#qualified_columns' do it 'returns qualified column names' do columns = users.sorted.prefix(:user).qualified_columns expect(columns).to eql([:users__id___user_id, :users__name___user_name]) end it 'returns projected qualified column names' do columns = users.sorted.project(:id).prefix(:user).qualified_columns expect(columns).to eql([:users__id___user_id]) end end describe '#inspect' do it 'includes dataset and header' do expect(users.inspect).to include('header') expect(users.inspect).to include('dataset') end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rom-sql-0.3.2 | spec/unit/relation_spec.rb |
rom-sql-0.3.1 | spec/unit/relation_spec.rb |