Sha256: b8c508e8470157bd8cd3ad0cbb4c109c712399abdf1082435d453b29f0b77888
Contents?: true
Size: 1.18 KB
Versions: 5
Compression:
Stored size: 1.18 KB
Contents
RSpec.describe ROM::Relation, '#order' do subject(:relation) { relations[:users] } include_context 'users and tasks' before do relation.insert(id: 3, name: 'Jade') end with_adapters do it 'orders by provided attribute names' do ordered = relation.order(:name, :id) expect(ordered.to_a). to eql([{ id: 3, name: 'Jade' }, { id: 1, name: 'Jane' }, { id: 2, name: 'Joe' }]) end it 'orders by provided attribute using a block' do ordered = relation. qualified. select(:id, :name). left_join(:tasks, user_id: :id). order { name.qualified.desc } expect(ordered.to_a). to eql([{ id: 2, name: 'Joe' }, { id: 1, name: 'Jane' }, { id: 3, name: 'Jade' }]) end it 'orders by provided attributes using a block' do ordered = relation. qualified. select(:id, :name). left_join(:tasks, user_id: :id). order { [name.qualified.desc, id.qualified.desc] } expect(ordered.to_a). to eql([{ id: 2, name: 'Joe' }, { id: 1, name: 'Jane' }, { id: 3, name: 'Jade' }]) end end end
Version data entries
5 entries across 5 versions & 1 rubygems