Sha256: 16c152c8505cdf645b9e4b47b1769254b135c43d93fd0a649fae3c33fa4bcbe6
Contents?: true
Size: 1.51 KB
Versions: 3
Compression:
Stored size: 1.51 KB
Contents
require 'spec_helper' describe 'Generating sql based on our DSL' do # it 'should work' do # Order.create!(:order_number => 32) # datatable = OrdersIndex.new # params = {} # json = datatable.query(params).json # json['aaRecords'][0][0].should == 32 # end it 'should select two fields' do class OrdersSimple < Datatable::Base set_model Order column :order_number column :memo end orders = Order.arel_table OrdersSimple.to_sql.should == Order.select(orders[:order_number]).select(orders[:memo]).to_sql OrdersSimple.relation.should == Order.select(orders[:order_number]).select(orders[:memo]) end it 'should handle a simple join' do class OrdersSimple < Datatable::Base set_model Order column :memo join :customer end orders = Order.arel_table OrdersSimple.to_sql.should == Order.select(orders[:memo]).joins(:customer).to_sql OrdersSimple.relation.should == Order.select(orders[:memo]).joins(:customer) end it 'should handle a join with an inner column' do class OrdersSimple < Datatable::Base set_model Order column :memo join :customer do column :first_name end end orders = Order.arel_table customers = Arel::Table.new(:customers) OrdersSimple.to_sql.should == Order.select(orders[:memo]).joins(:customer).select(customers[:first_name]).to_sql OrdersSimple.relation.should == Order.select(orders[:memo]).joins(:customer).select(customers[:first_name]) end end
Version data entries
3 entries across 3 versions & 1 rubygems