Sha256: 9d520caf22906dc975fc9ca2b59d0ee17b1ae8d8e91cecdcd0a7694130c1b9c8
Contents?: true
Size: 1.68 KB
Versions: 3
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
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rom-sql-0.3.0 | spec/unit/relation_spec.rb |
rom-sql-0.2.0 | spec/unit/relation_spec.rb |
rom-sql-0.1.1 | spec/unit/relation_spec.rb |