Sha256: 2c5ed9b118801563ccc16cb462f105e59c6dd5b07faef876ab01dd0411540338

Contents?: true

Size: 1.02 KB

Versions: 4

Compression:

Stored size: 1.02 KB

Contents

require 'rails_helper'

describe Tabulatr::Data::DSL do
  class DummyDSLClass
    extend Tabulatr::Data::DSL
  end

  before(:each) do
    DummyDSLClass.instance_variable_set('@table_columns', [])
  end

  describe '#column' do
    it 'escapes table and column names' do
      allow(DummyDSLClass).to receive(:main_class).and_return(Product)
      DummyDSLClass.column(:active)
      table_column = DummyDSLClass.instance_variable_get('@table_columns').first
      expect(table_column.filter_sql).to match(/\"products\".\"active\"/)
      expect(table_column.sort_sql).to match(/\"products\".\"active\"/)
    end
  end

  describe '#association' do
    it 'escapes table and column names' do
      allow(DummyDSLClass).to receive(:main_class).and_return(Product)
      DummyDSLClass.association(:vendor, :name)
      table_column = DummyDSLClass.instance_variable_get('@table_columns').first
      expect(table_column.filter_sql).to match(/\"vendors\".\"name\"/)
      expect(table_column.sort_sql).to match(/\"vendors\".\"name\"/)
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
tabulatr2-0.9.19 spec/lib/tabulatr/data/dsl_spec.rb
tabulatr2-0.9.18 spec/lib/tabulatr/data/dsl_spec.rb
tabulatr2-0.9.17 spec/lib/tabulatr/data/dsl_spec.rb
tabulatr2-0.9.16 spec/lib/tabulatr/data/dsl_spec.rb