Sha256: 13fbaecb82c400f5e570d4f1a42f619207925ecdfb8f1be3e533848006adf4a8
Contents?: true
Size: 874 Bytes
Versions: 1
Compression:
Stored size: 874 Bytes
Contents
require 'spec_helper' RSpec.describe ROM::SQL::RestrictionDSL, :sqlite, helpers: true do include_context 'database setup' subject(:dsl) do ROM::SQL::RestrictionDSL.new(schema) end let(:schema) do define_schema(:users, id: ROM::SQL::Types::Serial, name: ROM::SQL::Types::String) end let(:ds) do conn[:users] end describe '#call' do it 'evaluates the block and returns an SQL expression' do expect(dsl.call { count(id) >= 3 }.sql_literal(conn[:users])).to eql('(count(`id`) >= 3)') end end describe '#method_missing' do it 'responds to methods matching attribute names' do expect(dsl.id.type).to eql(schema[:id]) expect(dsl.name.type).to eql(schema[:name]) end it 'delegates to sequel virtual row' do expect(dsl.count(dsl.id).sql_literal(conn[:users])).to eql('count(`id`)') end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rom-sql-1.0.0.beta1 | spec/unit/restriction_dsl_spec.rb |