Sha256: 1083c198e2b47a1c0212da12899359d5c0673c8e9f2df993c49f3a602f6e93c2
Contents?: true
Size: 1.21 KB
Versions: 3
Compression:
Stored size: 1.21 KB
Contents
RSpec.describe 'SQL Relation extensions' do include_context 'database' shared_context 'valid view' do let(:users) { rom.relation(:users) } it 'has valid column names' do expect(users.attributes).to eql([:id, :name]) expect(users.by_id.attributes).to eql([:name]) expect(users.by_id(1).attributes).to eql([:name]) end end describe '.view' do context 'using short syntax' do before do configuration.relation(:users) do view(:by_id, [:name]) do |name| where(name: name).select(:name) end end end include_context 'valid view' end context 'with multi-block syntax' do before do configuration.relation(:users) do view(:by_id) do header [:name] relation do |name| where(name: name).select(:name) end end end end include_context 'valid view' end context 'with multi-block when first block has args' do it 'raises error' do expect { configuration.relation(:users) do view(:by_id) { |args| } end }.to raise_error(ArgumentError) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rom-repository-0.2.0 | spec/unit/sql/relation_spec.rb |
rom-repository-0.2.0.rc1 | spec/unit/sql/relation_spec.rb |
rom-repository-0.2.0.beta1 | spec/unit/sql/relation_spec.rb |