Sha256: 87ab3739d4ddcfb005545d6fe929573a044a4f8f46db2f6d18349e1ba976d24c
Contents?: true
Size: 1.21 KB
Versions: 2
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_pk.attributes).to eql([:name]) expect(users.by_pk(1).attributes).to eql([:name]) end end describe '.view' do context 'using short syntax' do before do configuration.relation(:users) do view(:by_pk, [: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_pk) 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_pk) { |args| } end }.to raise_error(ArgumentError) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rom-repository-0.3.1 | spec/unit/sql/relation_spec.rb |
rom-repository-0.3.0 | spec/unit/sql/relation_spec.rb |