Sha256: 5062b9be643823f042a5f869aca4661dfbbd8f3067c8bde7e8eeb465a9ee3f9f

Contents?: true

Size: 1.93 KB

Versions: 29

Compression:

Stored size: 1.93 KB

Contents

require 'test_helper'

class ClassWithFinder
  include ActiveScaffold::Finder
  def conditions_for_collection; end

  def conditions_from_params; end

  def conditions_from_constraints; end

  def joins_for_collection; end

  def custom_finder_options
    {}
  end

  def beginning_of_chain
    active_scaffold_config.model
  end

  def conditional_get_support?; end

  def params; {}; end
end

class CalculationTest < MiniTest::Test
  def setup
    @buildings = []
    @buildings << Building.create { |b| b.create_owner(:first_name => 'foo') }
    @buildings << Building.create(:name => 'foo bar')
    @buildings << Building.create

    @klass = ClassWithFinder.new
    @klass.stubs(:active_scaffold_config).returns(mock { stubs(:model).returns(Building) })
    @klass.stubs(:active_scaffold_session_storage).returns({})
  end

  def teardown
    @buildings.each(&:destroy).map(&:owner).compact.each(&:destroy)
  end

  def test_calculation_with_conditions
    @klass.expects(:conditions_for_collection).returns(['"buildings"."name" LIKE ? OR "people"."first_name" LIKE ?', '%foo%', '%foo%'])
    @klass.expects(:active_scaffold_references).returns([:owner])
    @klass.active_scaffold_config.expects(:list).returns(mock { stubs(:count_includes).returns(nil) })

    column = mock { stubs(:field).returns('"buildings"."id"') }
    @klass.active_scaffold_config.expects(:columns).returns(mock { stubs(:"[]").returns(column) })
    query = @klass.send :calculate_query
    assert_equal 2, query.count
  end

  def test_calculation_without_conditions
    @klass.stubs(:active_scaffold_references).returns([:owner])
    @klass.active_scaffold_config.expects(:list).returns(mock { stubs(:count_includes).returns(nil) })

    column = mock { stubs(:field).returns('"buildings"."id"') }
    @klass.active_scaffold_config.expects(:columns).returns(mock { stubs(:"[]").returns(column) })
    query = @klass.send :calculate_query
    assert_equal Building.count, query.count
  end
end

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
active_scaffold-3.4.43 test/misc/calculation_test.rb
active_scaffold-3.4.42 test/misc/calculation_test.rb
active_scaffold-3.4.41.1 test/misc/calculation_test.rb
active_scaffold-3.4.41 test/misc/calculation_test.rb
active_scaffold-3.4.40 test/misc/calculation_test.rb
active_scaffold-3.4.39 test/misc/calculation_test.rb
active_scaffold-3.4.38 test/misc/calculation_test.rb
active_scaffold-3.4.37 test/misc/calculation_test.rb
active_scaffold-3.4.36 test/misc/calculation_test.rb
active_scaffold-3.4.35 test/misc/calculation_test.rb
active_scaffold-3.4.34 test/misc/calculation_test.rb
active_scaffold-3.4.33 test/misc/calculation_test.rb
active_scaffold-3.4.32 test/misc/calculation_test.rb
active_scaffold-3.4.31 test/misc/calculation_test.rb
active_scaffold-3.4.30 test/misc/calculation_test.rb
active_scaffold-3.4.29 test/misc/calculation_test.rb
active_scaffold-3.4.28 test/misc/calculation_test.rb
active_scaffold-3.4.27 test/misc/calculation_test.rb
active_scaffold-3.4.26 test/misc/calculation_test.rb
active_scaffold-3.4.25 test/misc/calculation_test.rb