Sha256: 27ce2f435ff0bdb1418eefac390c6590e6a26cd4222c6d05de960b58b9097ca8
Contents?: true
Size: 1.29 KB
Versions: 3
Compression:
Stored size: 1.29 KB
Contents
require 'spec_helper' describe AjaxDatatablesRails::Datatable::SimpleOrder do let(:view) { double('view', params: sample_params) } let(:datatable) { ComplexDatatable.new(view).datatable } let(:options) { ActiveSupport::HashWithIndifferentAccess.new({'column' => '1', 'dir' => 'desc'}) } let(:simple_order) { AjaxDatatablesRails::Datatable::SimpleOrder.new(datatable, options) } describe 'option methods' do it 'sql query' do expect(simple_order.query('firstname')).to eq('firstname DESC') end end describe 'option methods with nulls last' do describe 'using global option' do before { AjaxDatatablesRails.config.nulls_last = true } after { AjaxDatatablesRails.config.nulls_last = false } it 'sql query' do expect(simple_order.query('email')).to eq( 'CASE WHEN email IS NULL THEN 1 ELSE 0 END, email DESC' ) end end describe 'using column option' do let(:sorted_datatable) { DatatableOrderNullsLast.new(view).datatable } let(:nulls_last_order) { AjaxDatatablesRails::Datatable::SimpleOrder.new(sorted_datatable, options) } it 'sql query' do expect(nulls_last_order.query('email')).to eq( 'CASE WHEN email IS NULL THEN 1 ELSE 0 END, email DESC' ) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems